備份資料庫的小技巧

本文將介紹備份資料庫的兩個小技巧。

SQL Server 提供多種資料庫備份的機制來滿足各種備份的需求,若您想要備份資料庫時,同時產生多個副本,可以利用 MIRROR TO 來同時把資料庫備份到多個位置,對於資料庫備份檔的可用性多了一份保障,

 

   1:  BACKUP DATABASE Northwind TO DISK = 'F:\BAK\NW.bak'
   2:  MIRROR TO DISK = 'H:\BAK\NW1.bak'
   3:  MIRROR TO DISK = 'I:\BAK\NW2.bak'
   4:  WITH COPY_ONLY

 

 

利用 MIRROR TO 備份資料庫備份結果如下圖所示,可以看出每個檔案一樣大,也就是說要還原時只需利用任何一份備份檔就可以還原資料庫。

 

image

 

若您的資料庫相當龐大,可以在備份資料庫時將之拆成多份,以利提升備份的速度,做法如下:

於【 Object Explorer > 要備份的資料庫上按滑鼠右鍵 > Task > Back Up 】

 

image

 

根據您要將備份檔拆成幾個檔,重複執行下列步驟數次。

 

image

 

假設您要將備份檔拆成三個檔案,則重複新增並輸入不同備份路徑或備份檔名稱三次,結果如下圖紅色框框所示。

 

image

 

上述步驟也可以利用下列 T-SQL 來達到相同效果。

 

   1:  BACKUP DATABASE [Northwind] TO  DISK = N'F:\BAK\NW1.bak'                             
   2:  ,DISK = N'F:\BAK\NW2.bak'                                        
   3:  ,DISK = N'F:\BAK\NW.bak' 

 

 

查看備份路徑,的確 SQL Server 依照我們的需求產生了三個備份檔,與 MIRROR TO 產生相同大小備份檔的複本不同的是每個備份檔的大小都比 MIRROR TO 來的小,利用這種方式備份資料庫,還原時這三個檔案缺一不可

 

image

 

假設您只利用 NW.bak 嘗試還原資料庫,會發生如下圖的錯誤:

 

螢幕截圖00043

 

必須使用下列 T-SQL 才能還原資料庫。

 

   1:  RESTORE DATABASE [Northwind] FROM  DISK = N'F:\BAK\NW1.bak'
   2:  ,  DISK = N'F:\BAK\NW2.bak'
   3:  ,  DISK = N'F:\BAK\NW.bak'

 

 

或是在 SSMS 中把上述拆成三個備份檔都加入到 Backup Device 中才能順利還原。

 

image

 

【參考資料】