通過(guò)作業(yè)調(diào)度建立SQL Server的自動(dòng)備份
SQL Server的作業(yè)調(diào)度來(lái)建立自動(dòng)備份的方法
◆1、進(jìn)入企業(yè)管理器中->管理->sql server代理->作業(yè);
◆2、新建作業(yè),作業(yè)名稱(chēng)隨便取,例如:data備份,所有者選擇sa,當(dāng)然你也可以選擇其他用戶(hù),前提是該用戶(hù)有執(zhí)行作業(yè)的權(quán)限;
◆3、點(diǎn)擊步驟標(biāo)簽,進(jìn)入步驟面板。新建步驟,步驟名可以隨便填寫(xiě),如步驟1,類(lèi)型和數(shù)據(jù)庫(kù)默認(rèn),不需要修改。命令中寫(xiě)入以下語(yǔ)句:
BACKUP DATABASE [數(shù)據(jù)庫(kù)名] TO DISK = N'F:data數(shù)據(jù)庫(kù)備份' WITH NOINIT , NOUNLOAD , NAME = N'數(shù)據(jù)庫(kù) 備份', NOSKIP , STATS = 10, NOFORMAT
注意:需要修改的地方,數(shù)據(jù)庫(kù)名,DISK=(這里需要填寫(xiě)路徑和你的數(shù)據(jù)庫(kù)備份的名稱(chēng))后面的Name=可以隨便填寫(xiě)。
◆4、點(diǎn)擊調(diào)度標(biāo)簽,進(jìn)入調(diào)度面板,新建調(diào)度,名稱(chēng)隨便填寫(xiě),選擇反復(fù)出現(xiàn),點(diǎn)更改可以選擇你想要執(zhí)行任務(wù)的隨意調(diào)度。如每天,每2天,每星期,每月等。根據(jù)需要自己設(shè)置;
◆5、確定后,不要忘記一件事情,在你剛才建立的工作上點(diǎn)右鍵,啟動(dòng)工作,如果你的工作沒(méi)有問(wèn)題,將會(huì)提示執(zhí)行成功,并有相對(duì)應(yīng)的備
份文件在你的磁盤(pán)上出現(xiàn);
◆6、還有一個(gè)重要的問(wèn)題就是你的sql server agent服務(wù)器已經(jīng)啟動(dòng)。
如果我們需要根據(jù)每天的日期來(lái)生成一個(gè)新的備份,以便我們區(qū)別備份文件。這時(shí),我們需要修改一下剛才的sql語(yǔ)句。參考實(shí)例:
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
或者按如下寫(xiě)法:
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''
舉例:
declare @filename nvarchar(100)
set @filename='E:data_BackupBIS_data_backup_'+replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),'
',''),':','')+'.bak'
print @filename
BACKUP DATABASE [BIS] TO DISK = @filename WITH NOINIT, NOUNLOAD, NAME = N'BIS_data_backup', NOSKIP , STATS = 10, NOFORMAT
時(shí)間戳不帶秒:
substring(replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':',''),1,12 )
