建立乙個定時作業進行資料庫備份

2021-08-01 17:47:57 字數 1798 閱讀 3087

use [database]

go /*object: storedprocedure [dbo].[p_dbbakjob] script date: 05/27/2017 15:15:57*/

set ansi_nulls on

go set quoted_identifier on

goalter proc [dbo].[p_dbbakjob] –過程名稱

@jobname varchar(100), –作業名稱

@sql varchar(8000), –要執行的命令

@servername sysname=n』(local)』, –job server名 (伺服器名稱)

@dbname sysname=』database』, –預設為當前的資料庫名

@freqtype varchar(6)=』day』, –時間週期,month 月,week 周,day 日

@fsinterval int=1, –相對於每日的重複次數

@time int=114500 –開始執行時間,對於重複執行的作業,將從0點到23:59分

as if isnull(@dbname,」)=」 set @dbname=db_name()

–建立作業

exec msdb..sp_add_job @job_name=@jobname

–建立作業步驟

exec msdb..sp_add_jobstep @job_name=@jobname,

@step_name = 『資料庫備份』,

@subsystem = 『tsql』,

@database_name=@dbname,

@command = @sql,

@retry_attempts = 5, –重試次數

@retry_interval = 5 –重試間隔

–建立排程

declare @ftype int,@fstype int,@ffactor int

select @ftype=case @freqtype when 『day』 then 4

when 『week』 then 8

when 『month』 then 16 end

,@fstype=case @fsinterval when 1 then 0 else 8 end

if @fsinterval<>1 set @time=0

set @ffactor=case @freqtype when 『day』 then 0 else 1 end

exec msdb..sp_add_jobschedule @job_name=@jobname,

@name = 『時間安排』,

@freq_type=@ftype , –每天,8 每週,16 每月

@freq_interval=1, –重複執行次數

@freq_subday_type=@fstype, –是否重複執行

@freq_subday_interval=@fsinterval, –重複週期

@freq_recurrence_factor=@ffactor,

@active_start_time=@time –執行時間

if @servername=」

set @servername=@@servername

exec msdb..sp_add_jobserver @job_name = @jobname,

@server_name = @servername

建立作業定時備份資料庫

1.建立備份資料庫的儲存過程 alter procedure dbo pro backup1 asbegin 將sql指令碼賦值給變數 declare sqlbackupdatabase as nvarchar 1000 set sqlbackupdatabase n backup database...

mysqldump進行資料庫備份

最近,遇到乙個場景需要對mysql資料庫進行備份,本文記錄一下。1.對整個資料庫備份,包括表結構和資料 格式 mysqldump h資料庫ip u使用者名稱 p 資料庫名 d xx.sql 檔案存放路徑 示例 mysqldump h132.72.192.432 uroot p test home c...

xtrabackup進行資料庫備份

最近需要將線上資料庫的資料同步到線下測試環境,所以在找資料庫同步的方法,發現了xtrabackup這個工具,便想試下是否可行。開源,免費,備份速度快,感覺挺強大有木有,廢話不多說,開始安裝。wget rpm ivh percona release 0.1 4.noarch.rpm yum y nog...