使用其他数据库中的新记录更新SQL Server 2005数据库

时间:2014-05-15 03:14:43

标签: sql-server

当我开始我的项目时,我只是在工作时连接到网络服务器连接,所以我决定在我的笔记本电脑中使用该数据库的本地副本(使用attach-detach方法)。问题是我们办公室的数据库仍在更新,我在本地数据库中创建了新表(我的数据库中的数据没有更新,因此我没有新的记录)。如何合并我们办公室数据库中的更改(通过合并更改,我的意思是,如何更新其数据库以包含我创建的新表以及在其数据库中更新的新记录)?如果我将使用attach-detach方法,他们将拥有新表,但他们创建的新记录将不会被保存。

如果我感到困惑,请让它像这样: 为了清楚说明,让我们命名数据库' SQLDB'。最初,只有一个SQLDB'在工作,但我必须在家里从事这个项目,所以我创建了一个' SQLDB'在家。有一个' SQLDB'在工作中,以及一个SQLDB'在家。 ' SQLDB'在工作中不断更新,而SQLDB'在家里不是(所以它没有新的记录),但是' SQLDB'在家里有两张新桌子。如果我要分离 - 附加SQLDB'在家里这样的SQLDB'在工作中也将有新表,但新记录将消失(因为' SQLDB'在家中没有更新)。我希望合并这些更改(新表和新记录)并保存最终数据库以用于' SQLDB'在工作。

我希望我已经说清楚了。任何输入将不胜感激。 :)

1 个答案:

答案 0 :(得分:1)

您最好的选择是使用一组更新脚本 - 如下所述:

  1. 获取最新版本的SHARED数据库。
  2. 将此版本还原为LOCAL实例。
  3. 运行脚本集以使用新的表/数据升级SHARED数据库。
  4. 测试一切正常。
  5. 在SHARED数据库上运行相同的脚本集以进行更新。
  6. 重复。
  7. 请参阅此优秀博文:http://blog.codinghorror.com/get-your-database-under-version-control/

    此讨论:Do you use source control for your database items?

    这个工具:http://dbsourcetools.codeplex.com/