程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 通過作業調度建立SQL Server的自動備份

通過作業調度建立SQL Server的自動備份

編輯:關於SqlServer


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 )

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved