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

SQL Server 數據庫定時自動備份 實現教程

編輯:關於SqlServer
 

在SQL Server中出於數據安全的考慮,所以需要定期的備份數據庫。而備份數據庫一般又是在凌晨時間基本沒有數據庫操作的時候進行,所以我們不可能要求管理員每天守到晚上1點去備份數據庫。要實現數據庫的定時自動備份,最常用的方式就是使用SQL Server代理中的作業。啟動SQL Server Agent服務,然後在其中新建作業,作業中添加1個備份步驟,類型是T-SQL腳本,然後在命令中輸入如下SQL語句,該語句實現了對數據庫TestDB1的完整備份,備份文件在C盤Backup文件夾中,文件名就是TestDB1+當時備份的日期字符串.bak。

復制代碼 declare@namevarchar(250)
set@name='C:\Backup\TestDB1_'+
convert(varchar(50),getdate(),112)+'.bak'
BACKUPDATABASE[TestDB1]TO  
DISK=@name
WITH NOFORMAT, NOINIT,  
NAME = N'TestDB1-完整 數據庫 備份',
SKIP, NOREWIND, NOUNLOAD 復制代碼

創建好步驟以後,接下來就是創建計劃,創建計劃的操作十分簡單,界面上說明的很詳細了,我就不多說了。另外還可以配置警報和通知,不過一般很少用這個。

使用SQL作業中執行SQL腳本進行備份的方法雖然已經很簡單了,但是至少還是要去寫BACKUP腳本,這點有些人覺得不爽,那有沒有更簡單,更懶的方法來實現數據庫的自動定時備份呢?有,那就是“維護計劃”。

“維護計劃”是在SSMS的對象資源管理中“管理”節點下面。使用維護計劃可以通過可視化的操作,只點點鼠標就可以創建數據庫維護的SSIS包,然後仍然是通過SQL Server作業的方式來運行。維護計劃與前面說到的備份方法本質的不同就是:維護計劃是SSIS包,上面的是T-SQL腳本。

假設我們現在有一個生產系統的數據庫需要進行備份,由於數據庫中的數據很多,數據文件很大,如果每次都進行完整備份那麼硬盤占用了很大空間,而且備份時間很長,維護起來也很麻煩。對此我們可以采用完整備份+差異備份的方式,每周日進行一次完整備份,每天晚上進行一次差異備份。使用差異備份可以減小備份文件的大小,同時還可以提高備份的速度,不過缺點就是必須使用上一次完整備份的文件和差異備份的文件才能還原差異備份時刻的數據庫,單獨只有差異備份文件是沒有意義。

下面我來講一下如何通過維護計劃來實現完整備份+差異備份:

(1)在SSMS的對象資源管理器中右擊“維護計劃”,選擇“維護計劃向導”,系統將彈出向導窗口,如圖:

image

這裡向導已經告訴我們維護計劃到底能夠干什麼了,其中最後一項“執行數據庫備份”正是我們所需要的。

(2)點擊“下一步”按鈕,進入選擇計劃屬性窗口,輸入計劃的名稱,由於我們的計劃包括2部分:完整備份和差異備份,這2部分的執行計劃是不一樣的,一個是一周執行一次,另一個是一天執行一次,所以要選擇“每項任務單獨計劃”,如圖:

image

(3)單擊“下一步”按鈕,選擇維護任務,這裡就是可以在維護計劃中執行的任務,如果你想執行的任務在這裡沒有,那就還是不用維護計劃來做,自己寫SSIS包或者SQL語句吧。我們要執行的任務都在這裡,選中這2個任務,如圖:

image

(4)單擊“下一步”進入選擇維護任務順序的界面,這裡我們可以看到選中的任務出現在列表中,但是我們並不能調整其順序,那是因為在步驟2中我們選擇的是每項任務單獨計劃,所以這2個任務是獨立的,沒有先後順序可言。如果當時選擇的是另一個選項,那麼這裡就可以調整順序了。

 

image

(5)選中“備份數據庫(完整)”然後單擊“下一步”按鈕,系統將轉到定義完整備份任務的界面,如圖:

image

這個界面實在太長了,我把任務欄隱藏了都顯示不完,出現了滾動條,這裡我們選擇要進行備份的數據庫,選擇為每個數據庫創建備份文件,文件保存在C盤Backup目錄下,擴展名是bak,出於安全起見,我們可以選中“驗證備份完整性”,當然也可以不選。在SQL2008中提供了壓縮備份的新特性,使得備份文件更小,備份速度更快,這裡我們就是由壓縮備份。最後是選擇執行計劃,我這裡選的是每周日晚上0點的時候執行。

 

(6)單擊“下一步”按鈕,進入差異備份任務的設置界面,和上一步的界面是一樣的,操作也是一樣的,計劃這裡我們可以選擇除了周日以外的每天進行差異備份,如圖:

image  

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