Visual Studio 2008中如何比較二個數據庫的架構【Schema】和數據【Data】並同步

      使用場景:
在團隊開發中,每一個人都有可能隨時更新數據庫,這時候數據庫中數據和架構等信息都會發生變化。如果更新不及時,就會發生數據錯誤或數據丟失的風險,影響團隊的開發效率和 項目進度,這時候我們該怎麼辦呢?VS2008 Team System版本中就提供瞭解決這個問題的工具。使用這個工具,我們可以比較數據庫更改前後的架構和數據的具體改變信息,並且可以生成數據和架構更新腳本,在原來的老數據庫中執行腳本,就可以將數據庫更新到最新,而且數據庫中沒有變更的數據和架構不會受到影響。  
比較之前,首先一定要備份目標數據庫【Target Database,以防萬一數據更新失敗。將目標數據庫【Target Database】和源數據庫【Source Database】一起附加到SQL Server 2005中,然後在VS2008中分別添加二個連接字符串,連接這二個數據庫。  
建議:將從服務器【SVN】上Down下來的數據庫作爲Target Database,將我們本機上更新過的數據庫作爲Source Database,進行架構和數據比較並更新,確認更新成功後,提交Target Database至服務器。  
在本實例中ISACADB爲待更新的目標數據庫,ISACADB-S爲待比較的源數據庫,比較更新後的結果是ISACADB被更新到與ISACADB-S一致。
 
VS2008中比較二個數據庫的架構【Schema】並更新的步驟:
 
一、打開VS2008,點擊菜單上的Data==>Schema Compare==>New Schema Comparison…  
 
二、在彈出窗體中,按下圖分別在Source Schema下和Target Schema下選擇相應的Database,其中Source Schema下選擇的數據庫【ISACADB-S】是待比較的數據源,是Target Schema下選擇的數據庫【ISACADB】被更新的依據。  
 
三、選擇好數據庫後,點擊OK按鈕,開始執行架構比較,完成後,顯示如下界面。
選擇圖中上面的數據庫表或存儲過程,下面的窗口二側會分別以不同顏色高亮顯示SourceTarget Database中不相同部分的內容。  
 
四、點擊VS2008中如下圖的工具欄中的紫色方框內的按鈕【Show Schema Update Script】,會在vs2008的下方顯示整個數據庫的全部更新腳本;點擊其右側的刷新【Refresh】按鈕,則會重新進行比較;點擊Write Updates按鈕,會直接執行更新,使Target Database的架構與Source Database一致,點擊Write Updates左側的按鈕,可以重新設置Compare的二個Database;最左側的按鈕可以設置顯示那些比較的結果。  
 
 
五、導出腳本,可以直接複製上衣步驟中的腳本,也可以點擊VS2008中如下圖的工具欄的二個按鈕,Export To Editor是將腳本導出到VS2008中的編輯器中,Export To File則是將腳本導出到文件中。  
 
六、執行上一步導出的腳本,將Target Database的架構更新到與Source Database的架構一致。
 
七、Target Database執行更新腳本成功後,檢查Target Database的架構更新是否正確。方法是:將更新後的Target DatabaseSource Database進行架構比較,看比較結果是否完全一致,如果不一致,則檢查錯誤原因;或者恢復原來的Target Database【已備份】,重新進行更新,直到更新正確。
 
VS2008中比較二個數據庫的數據並更新的步驟:
 
一、打開VS2008,點擊菜單上的Data==> Data Compare==>New Data Comparison…  
 
二、在彈出窗體中,按下圖分別在Source Database下和Target Database下選擇相應的Database,其中Source Database下選擇的數據庫【ISACADB-S】是待比較的數據源,是Target Database下選擇的數據庫【ISACADB】被更新的依據。並在下面設置比較條件,點擊Next按鈕則可以進一步設置要比較的TablesStoredProceduresViews等,點擊Finish則直接按默認【只比較Tables】進行數據比較。  
 
三、點擊Finish按鈕後,開始執行數據比較,完成後,顯示如下界面。  
 
四、下面的所有步驟和上面的架構比較時基本一樣,此處省略。
補充:
Visual Studio 2005 Team System版本中默認是沒有上面的功能的,需要安裝下面的插件才能使用以上功能。
Visual Studio 2005 Team Edition for Database Professionals Add-on for Visual Studio 2005 Team Suite Edition下載地址:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章