如何编写T-SQL来比较和复制数据?

时间:2010-04-27 10:53:38

标签: sql-server-2008

我有两个SQL Server 2008 Enterprise数据库(在两台机器上),其中一个数据库是master数据库,另一个数据库是slave数据库。

我想将更新从源数据库中的表传输到目标数据库中的表(两个表具有相同的模式,它们都使用单个列作为唯一主键)。传输规则(简而言之,规则是保持目标数据库与源数据库相同,因为更新了源数据库),

  1. 如果源数据库中有新行但目标数据库中没有,请在目标数据库中插入行;
  2. 如果源数据库中不存在但存在于目标数据库中的行,则删除目标数据库中的行;
  3. 如果源数据库中的行内容(即主键列以外的列)发生更改,请将新内容更新到目标数据库中。
  4. 提前谢谢, 乔治

1 个答案:

答案 0 :(得分:1)

您可以使用Visual Studio中的带有向导的SQL服务器项目(VSTS)[查看此tutorial以了解更多信息],您可以选择主数据库,然后选择您的向导中的其他配置。

最后,它将从master数据库中获取您的数据/模式,然后您可以与任何其他具有Data或Schema compare的sql server数据库进行比较。

它还将生成更新脚本,并可以直接将所有更改应用于从数据库。

您需要Visual Studio团队系统数据库版本支持。