SQL Server備份資料庫的兩種方式
主題: |
SQL Server備份資料庫的兩種方式 |
文章簡介: |
可將欲備份的資料庫指定SQL Server相容版本進行備份以保留舊有資料,並可在其相容底下的SQL Server版本上掛載 |
作者: |
蔡宛蓉 |
版本/產出日期: |
V1.0/2016.12.11 |
1. 前言
• 不管是接專案或研究技術在基本上來說,資料都是不可避免的。當然除了使用資料庫來進行資料的存放外,我們也可以直接塞假資料就行,但塞假資料的作法只適用於我們在研究技術或專案初中期。而當在真正開發專案時,就會需要使用到資料庫。
2. 目的
• 針對不同SQL Server版本,指定其相容底下的SQL Server版本
• 以便開發專案人員可在其不同SQL Server版本底下擁有一樣的資料
3. 開始前準備
本架構建立於以下版本的環境:
• Microsoft SQL Server 2016 CTP3.3
• SQL Server Database Publishing Wizard 1.4
4. 實際操作及講解說明
4.1、 SQL Server Database Publishing Wizard 1.4(資料庫發行精靈)
如果有安裝過Visual Studio 2008可以在C:\Program Files(X86)\Microsoft SQL Server\90\Tools\Publishing\1.2(或者是1.4)目錄裡找到SqlPubWiz.exe
執行exe後,我們會先看到歡迎使用畫面。基本上看過就可以勾選”不要再顯示此開始頁面”,節省一些時間
接著輸入要發行的資料庫的伺服器,這部分就由自己字由發揮啦!自行輸入要發行的資料庫的伺服器還有驗證部分的資訊
選擇要發行的資料庫
如沒有勾選”為選擇資料庫中的所有物件編寫指令碼”,可以指定所要發行的物件編寫指令碼,例如:預存程序、資料表等等,因目前所選的資料庫只有資料表,之後再針對資料表的選擇,接著再按下一步,則會到所要發行的存檔位置
如有勾選”為選擇資料庫中的所有物件編寫指令碼”,則直接到所要發行的存檔位置,接著按下一步
接下來這步驟就比較重要了! 在”目標資料庫的指令碼”這項我們可以產生與目標資料庫版本相容的指令碼
接著選擇”要發行的資料類型”。
• 結構描述和資料:包含相關設定的結構(例如:關連性、PK等等)、資料
• 僅限結構描述:僅包含相關設定的結構(例如:關連性、PK等等)
• 僅限資料:僅包含資料表資料
按下一步
檢閱您的選取項目,之後按完成
現在我們將剛剛發行的資料表執行到目標資料庫
這時我們就會發現在目標資料庫中,有剛剛所執行的指令碼的資料
4.2、 Microsoft SQL Server 2016 CTP3.3
基本上SQL Server本身也可以執行行同”資料庫發行精靈”的功能。在”存檔所發行的位置” 之前,操作內容與步驟都與資料庫發行精靈相同
• Script entire database and all database objects:為選擇資料庫中的所有物件編寫指令碼
• Select specific database objects:選取特定的資料庫物件
接著在存檔位置這一步時,千萬不要急著按下一步或完成,因為這邊需要進階設定”產生與目標資料庫版本相容的指令碼”與”要發行的資料類型”
• Script for Server Version(針對伺服器版本編寫指令碼):只編寫與指定SQL Server版本相容之功能的指令碼
• Types of data to Script(要編寫指令碼的資料類型):
(一)Schema only:僅限結構描述
(二)Data only:僅限資料
(三)Schema and data:結構描述和資料
5. 結論
資料庫發行精靈不需在另外開啟SQL Server後再進行備份,以減少許多的操作,但此方式只能簡易的選擇相容版本以及發行的資料類型且資料庫發行精靈目前版本並無更新,所以可指定的相容版本極少;雖需開啟SQL Server才能進行資料庫備份,但SQL Server版本持續有發布更新的版本,相對的,它所向下可指定發行的相容版本選擇性高。
6. 參考來源
(一)如何將較高版本SQL Server複製到低版本SQL Server (降級為舊版)並保留權限及資料庫圖表-http://blog.tenyi.com/2015/05/sql-serversql-server.html
(二)如何利用「資料庫發行精靈」將新版 SQL 資料庫降級成舊版-
http://blog.miniasp.com/post/2011/05/21/Using-Database-Publishing-Wizard-downgrade-SQ L-Server-Database.aspx
(三)下載 SQL Server Management Studio (SSMS)-