【问题标题】:Sql Server copy data from one database table to anotherSql Server 将数据从一个数据库表复制到另一个
【发布时间】:2013-07-02 12:34:30
【问题描述】:

我正在对开发数据库进行一些数据更改,并希望在完成后将更改复制到实时数据库。可能会有一些新的行,尽管大部分都会有更新的行。 IE。已存在于实时数据库中的行。

数据库中有几个表,我只想从其中的几个表中复制数据。

如果可能的话,我希望无需编写任何脚本并使用Management Studio 附带的工具之一就可以做到这一点。

我尝试在Management Studio 中使用Generate and Publish Scripts 向导,并创建了一个脚本来复制我希望复制的表中的所有数据。这里的问题是,脚本尝试在更新行的情况下插入具有已经存在的 Id 的行。所以只插入新行。

我希望能够自动生成一个脚本,如果该行已经存在则更新该行,如果不存在则插入一个新行。

是否有其他工具或使用Generate and Publish Scripts 向导的选项可以让我执行此操作?

【问题讨论】:

标签: sql sql-server merge copy


【解决方案1】:

我知道现在回答很晚,但分享给仍然面临同样问题的其他人。

我最近在我的一个项目中也遇到了相同的情况,我通过编写一个存储过程(参考:Copy changed data in table from source to destination in SQL)来完成它,它将为每个表创建 “MERGE”语句将特定表的差异从源数据库复制到目标数据库。

要了解有关 MERGE 语句的更多信息,您可以访问此 MSDN link

【讨论】:

    【解决方案2】:

    有一个名为SQL Compare 的程序可以帮助我实现我想做的事情,而无需自己编写任何脚本。相当昂贵,但有试用版。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2015-01-02
      相关资源
      最近更新 更多