自動備份SQL數據庫到雲存儲Storage

如何自動備份SQL數據庫到Storage呢。

前提條件需要SQL Server2012 SP1 CU2或更高版本

1. 備份SQL Azure數據庫到雲存儲Storage

1)在SQL Server Management Studio中創建Storage存儲身份認證

創建Storage身份認證信息腳本樣例如下:

IF NOT EXISTS

(SELECT * FROM sys.credentials

WHERE credential_identity = 'mycredential')

CREATE CREDENTIAL mycredential WITH IDENTITY = 'mystorageaccount'

,SECRET = '<storage access key>' ;

2)從數據庫導出數據包文件*.BACPAC,並存儲到Storage的blob中。

腳本樣例如下:

BACKUP DATABASE AdventureWorks2012

TO URL = 'https://mystorageaccount.blob.core.windows.net/mycontainer/AdventureWorks2012.bak'

      WITH CREDENTIAL = 'mycredential'

     ,COMPRESSION

     ,STATS = 5;

GO

上面兩步使用的TSQL語句可以用在SQL腳本(如存儲過程)或者開發編程(如C#調用)中使用,達到導出數據包BACPAC文件到Storage的目的。

2. 自動備份數據庫

1)可以使用Task Scheduler創建計劃(Schedule)運行腳本或者程序

2)可以開發編程併發布Windows Azure Worker Role到雲服務上定時運行腳本

關於怎樣使用Task Scheduler來備份數據,可以參考:http://support.microsoft.com/kb/2019698

注意:

  1. 在創建計劃或者開發程序,並設置特定的時間來運行,兩次運行的時間要合理定義,不要在上次任務沒運行前啓動下次任務。這個時間段取決於數據庫的大小和數據服務器負載的情況。
  2. 使用異常處理機制和重試(Retry)機制來避免錯誤,例如超時。
  3. 在設定重試邏輯的時候,不要立即重試,需要一定的時間間隔,而且重試的間隔應該越來越長。

要備份或者恢復數據庫使用Storage,至少需要SQL server 2012 SP1 CU2

http://technet.microsoft.com/en-us/library/jj919148.aspx這篇文章有詳細的描述。

下載地址如下:

SQL Server2012 SP1 CU2

http://support.microsoft.com/kb/2790947

支持使用Storage備份和還原數據庫

SQL Server2012 SP1 CU4

http://support.microsoft.com/kb/2833645/zh-cn

 支持Powershell 操作使用Storage備份和還原數據庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章