Windows Azure SQL Database 備份和還原 - 第二回合

本文將繼續介紹在 Windows Azure SQL Database 平台上備份和還原資料庫的另外一種方法。

情境說明

本文繼續介紹 Windows Azure SQL Database(以下簡稱 SQL Database)上進行備份和還原時,也可以使用的公用程式 - SQLAzureMWBatchBackup、SQLAzureMWBatchUpload 來進行。

前置作業

首先您必須到 CodePlex 的 SQL Database Migration Wizard 頁面中點選【DOWNLOADS】在 OTHER AVAILABLE DOWNLOADS 項目下,找到【SQLAzureMWBatchBackup v4.0.11 Release Binary for SQL Server 2012】和【SQLAzureMWBatchUpload v4.0.11 Release Binary for SQL Server 2012】,其中前者是用來備份 SQL Database 上的資料庫,後者則是用來還原資料庫。

 

image_thumb1

使用 SQLAzureMWBatchBackup 備份資料庫】

當您下載 SQLAzureMWBatchBackup 後會是一個附檔名為 ZIP 的壓縮檔,解壓縮之後您將會看到如下圖的檔案內容,其中紅色框框處的執行檔就是用來備份 SQL Database 上資料庫的公用程式。

 

image_thumb3

 

您不能在檔案總管中直接 double click 該執行檔來做使用,而是必須在命令提示字元下來使用,您可以利用 /? 參數來查看 SQLAzureMWBatchBackup 的使用方式。

 

SNAGHTML2934f03f_thumb1

 

下圖中的指令用來示範利用將 SQLAzureMWBatchBackup 公用程式將 SQL Database 上的 Northwind 資料庫備份到 c:\temp 目錄下,並將所有的備份歷程儲存在 nw.log 檔案。

 

SQLAzureMWBatchBackup.exe
-S 資料庫伺服器名稱.database.windows.net 
-U 使用者名稱 -P 密碼
-D 資料庫名稱 -o 備份紀錄檔案名稱 -O 備份路徑

 

SNAGHTML2939dd0e_thumb1

 

按下 ENTER 之後公用程式預設會在您指定的目錄下,建立一個以日期為名稱的目錄,用來存放利用 BCP 匯出 SQL Database 上資料庫的檔案。

 

SNAGHTML294250a7_thumb1

 

匯出結束後您將可以看到所有使用 BCP 匯出資料的指令碼以及備份工作耗時多久。

 

SNAGHTML29497019_thumb1

 

接著到您利用 -O 參數所指定的備份目錄可以看到類似下圖的內容,其中您會看到一個和資料庫名稱相同的 .sql 指令碼檔案,它是用來建立所有資料庫物件所需的指令碼;另外所有的 TABLE 都被匯出成經過編碼的 dat 檔案,而 nw.log 則是在開始備份資料時,使用 -o 參數所指定的紀錄檔名稱。

 

image_thumb6

 

使用 SQLAzureMWBatchUpload  還原資料庫】

若您要還原 SQL Database 上的資料庫,可以使用 SQLAzureMWBatchUpload  公用程式,同樣的您必須在命令提示字元中使用該程式,您可以利用 /? 參數來查看使用的方法,如下圖所示:

 

SNAGHTML19bb42a_thumb1

 

接著筆者示範利用前一節所備份的資料庫內容搭配 SQLAzureMWBatchUpload 公用程式來還原資料庫,使用的指令碼如下:

 

SQLAzureMWBatchUpload.exe -S 伺服器名稱.database.windows.net 
-U 使用者名稱 -P 密碼 
-D 目標資料庫名稱 -i "路徑\指令碼.sql" 
-e 資料庫版本 -s 資料庫大小 -o 還原歷程紀錄

 

SNAGHTML1b38eb0_thumb1

 

同樣的在資料庫還原時,您可以看到整個過程中每個資料表資料匯入的筆數及完成度,最後一樣會告訴您總共歷時多久的資訊。

 

SNAGHTML1b41e32_thumb1

 

您可以利用 Windows Azure 管理入口網站來查看剛剛所還原的資料庫,確實已經透過公用程式建立完成。

 

image_thumb1[1][1]

 

【參考資料】

SQL Database Migration Wizard