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"''
舉例:
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
時間戳不帶秒:
substring(replace(replace(replace(CONVERT(varchar, getdate(), 120 ),''-'',''''),'' '',''''),'':'',''''),1,12 )