sql server的作業排程來建立自動備份的方法
◆1、進入企業管理器中->管理->sql server代理->作業;
◆2、建立作業,作業名稱随便取,例如:data備份,所有者選擇sa,當然你也可以選擇其他使用者,前提是該使用者有執行作業的權限;
◆3、點選步驟标簽,進入步驟面闆。建立步驟,步驟名可以随便填寫,如步驟1,類型和資料庫預設,不需要修改。指令中寫入以下語句:
backup database [資料庫名] to disk = n‘‘f:data資料庫備份‘‘ with noinit , nounload ,
name = n‘‘資料庫 備份‘‘, noskip , stats = 10, noformat
注意:需要修改的地方,資料庫名,disk=(這裡需要填寫路徑和你的資料庫備份的名稱)後面的name=可以随便填寫。
◆4、點選排程标簽,進入排程面闆,建立排程,名稱随便填寫,選擇反複出現,點更改可以選擇你想要執行任務的随意排程。如每天,每2天,每星期,每月等。根據需要自己設定;
◆5、确定後,不要忘記一件事情,在你剛才建立的工作上點右鍵,啟動工作,如果你的工作沒有問題,将會提示執行成功,并有相對應的備份檔案在你的磁盤上出現;
◆6、還有一個重要的問題就是你的sql server agent伺服器已經啟動。
如果我們需要根據每天的日期來生成一個新的備份,以便我們差別備份檔案。這時,我們需要修改一下剛才的sql語句。參考執行個體:
declare @filename
nvarchar(100) set
@filename=‘‘e:data_backupbis_data_backup_‘‘+convert(char(10),getdate(),112)+‘‘.bak‘‘
print @filename backup database [bis] to disk = @filename with noinit,
nounload, name = n‘‘bis_data_backup‘‘, noskip , stats = 10, noformat
或者按如下寫法:
declare
@backfilename varchar(200) declare @date char(10) declare @filename
varchar(200) declare @name varchar(200) set
@date=convert(char(10),getdate(),120) set @filename=‘‘e:data_backup‘‘
set @backfilename=@filename+@date set @name=‘‘bis_data_backup‘‘
backup database [bis] to disk = @backfilename with init , nounload ,
name = @name, noskip , stats = 10, noformat
或者:
execute
master.dbo.xp_sqlmaint n‘‘-planid 1faee7fd-f0cc-4e9c-8100-fc1f9af39063
-writehistory -vrfybackup -bkupmedia disk -bkupdb "e:data_backup" -bkext
"bak"‘‘
舉例:
@filename=‘‘e:data_backupbis_data_backup_‘‘+replace(replace(replace(convert(varchar,
getdate(), 120 ),‘‘-‘‘,‘‘‘‘),‘‘ ‘‘,‘‘‘‘),‘‘:‘‘,‘‘‘‘)+‘‘.bak‘‘ print
@filename backup database [bis] to disk = @filename with noinit,
時間戳不帶秒:
substring(replace(replace(replace(convert(varchar,
getdate(), 120 ),‘‘-‘‘,‘‘‘‘),‘‘ ‘‘,‘‘‘‘),‘‘:‘‘,‘‘‘‘),1,12 )