天天看點

通過作業排程建立SQL Server的自動備份

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 )

繼續閱讀