2014-05-15 137 views
0

當我開始使用我的項目時,我只是在工作時連接到網絡服務器連接,所以我決定在我的筆記本電腦中使用該數據庫的本地副本(使用附加 - 分離方法)。問題是我們辦公室裏的數據庫還在更新,我在我的本地數據庫中創建了新的表格(我的數據庫中的數據沒有更新,所以我沒有新的記錄)。如何合併我們辦公室數據庫中的更改(通過合併更改,我的意思是,如何更新其數據庫以包含我創建的新表和正在其數據庫中更新的新記錄)?如果我將使用attach-detach方法,他們將擁有新表格,但他們創建的新記錄將不會被保存。用另一個數據庫的新記錄更新SQL Server 2005數據庫

如果我很困惑,讓我們把它寫成這樣: 爲了清楚起見,我們命名數據庫'SQLDB'。最初,在工作中只有一個'SQLDB',但我必須在家工作這個項目,所以我在家裏創建了'SQLDB'。有一個'SQLDB'在工作,而'SQLDB'在家。工作中的'SQLDB'不斷更新,而'SQLDB'不在家(因此它沒有新記錄),但家裏的'SQLDB'有兩個新表。如果我要在家中分離附加'SQLDB',以便'SQLDB'在工作時也會有新表,但新記錄將會消失(因爲'家庭SQLDB'沒有被更新)。我想要合併這些更改(新表和新記錄),並保存最終數據庫中'SQLDB'的工作。

我希望我已經說清楚了。任何輸入將不勝感激。 :)

回答

1

你最好的選擇是使用一組更新腳本 - 如下所述:

  1. 獲取最新版本的共享數據庫。
  2. 將此版本還原到LOCAL實例。
  3. 運行腳本集以使用新的表/數據升級SHARED數據庫。
  4. 測試一切正常。
  5. 在SHARED數據庫上運行相同的腳本集以更新它。
  6. 重複。

見這個優秀的博客文章:http://blog.codinghorror.com/get-your-database-under-version-control/

而且這個討論:Do you use source control for your database items?

而且這個工具:http://dbsourcetools.codeplex.com/

+0

哇。我以前從來不知道這個版本控制。我仍然無法掌握一切,但希望我能儘早解決這個問題。非常感謝你! – airhalynn101

相關問題