前言:

感謝公司某個專案的開發流程規劃,需要把開發完成的資料從測試機器放到正式機器。
除了程式碼需要發佈,也需要將資料庫一起搬移到正式機器。

這個專案內用到大量環境設定參數設定、Stored Procedure與檢視表(View),在資料庫搬移
的過程中又不能影響到客戶現有測試環境,簡單的說:
1.新功能開發完成,需要將相關的參數資料、Stored Procedure與View搬移過去。
2.不能整個資料庫覆蓋,需要選擇性的搬移新功能用到的資料內容。
3.多人分工合作開發,搬移的時候需要知道哪些是新功能用到的資料內容。


OK,非常好,在初期人工可以處理這些問題...
專案規模越來越大,漸漸的開始少一個參數,少一個功能...

感謝公司內Alan Tasi大大提供教學,Visual Studio較進階的版本有資料庫綱要比對與同步
功能,能夠快速的比較資料庫物件的差異性,並選擇性的同步更新。

測試環境:

本文章執行環境如下

  1. Visual Studio Premium 2013
  2. MS SQL Server 2012
  3. Window 7 Home Premium
在執行之前,您需要關心一下您的 Visual Studio 版本,連結為截取微軟說明網站,說明哪些版本才有資料庫比對與同步工具。

在官方網站描述:Visual Studio 2013 Professional 與Community版本是沒有這項功能。


執行步驟:

Step 1.Click "View" -> "SQL Sever" -> "Schema Compare"
           點選檢視 -> SQL Server -> 新增結構描述比對




Step 2. Select sql server database source
            選擇資料庫來源



Step 3. Check database radio button and select database from dropdownlist
            選擇資料庫後,從下拉選單中選擇資料庫來源
             (若無內容,請點選新增連結加入資料庫)




Step 4. Click Ok
            點選確定




Step 5. Select database destination
            選擇目標




Step 6. Check database radio button and select database from dropdownlist
            選擇資料庫,從下拉選單中選擇資料庫




Step 7. Click Ok
            點選確定




Step 8. Click "Compare"
            點選比較




Step 9. You will see a list what different between database source and database destination in
             table, view, role, stored procedure etc.
           你會看見一份比較表,列出資料庫來源與資料庫目標之間的差異性,包含資料表
            (Table)、檢視表(View)、角色(Role)、預存程序(stored procedure)...等。





Step 10. Select database object what do you want to update, and click "Update" button to object of
              destination
              選擇你想要更新的資料庫物件,點選更新按鈕完成更新目的端資料庫物件。




心得:

Visual studio 2013提供這功能實在太棒了,節省了人工比對需要花費的時間,也避免團
隊合作開發過程中,花費時間去詢問每一個開發者新增或更改那些資料庫物件,更避免
可能因為疏忽導致資料庫內容不完整,導致系統測試過程中發生問題。

最後,簡單查詢資料庫比較與同步相關的軟體,價格都不便宜。



參考資料:




--
謝謝!