通過(guò)作業(yè)調(diào)度建立SQLServer的自動(dòng)備份

字號(hào):

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)然你也可以選擇其他用戶,前提是該用戶有執(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_Backup\BIS_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_Backup\BIS_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 )