SSMS -- Backup Database Object to T-SQL file step

MS SQL Server本身有強大的備份機制,但有時候我們想把資料庫備份之像昨天「Northwind and Pubs Database T-SQL script files」那種T-SQL檔案,再利用sqlcmd來執行*.sql,也是可以及方便,各位可以參考這篇「[SQL Server 2008]使用SQL Server Management Studio內建的功能匯出資料庫SQL Script(含資料)」但我發現二件事,一是它使用的是英文版,二是他的SSMS UI與我有差異,我想可能我的是最新的MS SQL Server 2008 R2正體中文版的關係,所以我重新抓圖,算是一篇參考別人筆記的筆記。

我們來備份AdventureWorks資料庫好了,原始AdventureWorks資料庫172MB,先說,單純把AdventureWorks備份成*.sql檔案要 500MB以上,依設定不同會有所差異,例如,包含If NOT EXISTS設為true。

Backup Database Object to T-SQL file step

step 1:選擇資料庫 --> 工作 --> 產生指令碼;


Step 2:選擇備份項目;


這裡很簡單,你可以「全資料庫」或「單一、多項」選擇。

Step 3:按下「進階」設定;


這裡很直覺,我就不解釋了。

Step4:「進階」設定(項目很多,可以把畫面拉長);


以備份全資料庫而言,我覺得重點有兩個:

  • 要編寫指令碼的資料類型
  • 針對伺服器版本編寫指令碼
Step 5:要編寫指令碼的資料類型


很明顯了,預設是「僅限結樣描述」,如果是結構描述,備份AdventureWorks不到2MB,但如果是「結樣描述和資料」那就要500MB以上。

Step 6:針對伺服器版本編寫指令碼


這個重要的是「相容性」,例如,我們本機的測試用資料庫通常會比較新,而公司正式資料庫通常沒什麼人敢動,所以版本上會有差異,所以這裡要注意你選擇的版本。

Step 7:其他設定

其他設定不是說不重要,依你的需求來選擇,像「包含If NOT EXISTS」或「編寫發程序的指令碼」…等,請自行選擇及參考MSDN。

Step 8:確定後,看一下相關設定,沒問題的話就可以備份為T-SQL檔案。

另外,在Step 4的進階設定,我們可以修改SSMS的預設值,在「工具」--> 「選項」 --> 「SQL Server 物件總管」 --> 「指令碼」,即可修改預設值。以上在要把資料庫、資料表、結構描述、資料…備份到T-SQL檔案,非常好用,學起來。

Reference:

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。