我正在对dev数据库进行一些数据更改,并希望在完成后将更改复制到实时数据库。可能会有一些新行,但大多数会有更新的行。即已存在于实时数据库中的行。
数据库中有几个表,我只想复制其中几个表。
如果可能的话,我希望无需编写任何脚本,并使用Management Studio
附带的工具之一就可以实现这一目标。
我尝试使用Generate and Publish Scripts
中的Management Studio
向导,并创建了一个脚本,该脚本复制了我要复制的表中的所有数据。这里的问题是,脚本尝试插入具有在更新行的情况下已经存在的ID的行。所以只插入新行。
我希望能够自动生成一个脚本,如果它已经存在,将更新该行,或者只是插入一个新行。
是否有其他工具或使用Generate and Publish Scripts
向导的选项可以让我这样做?
答案 0 :(得分:1)
我知道现在很晚才回答,但分享给那些仍然面临同样问题的人。
我最近在我的一个项目中也有同样的情况,我通过编写一个存储过程(参考:Copy changed data in table from source to destination in SQL)来完成它,这将为每个创建“MERGE”语句表,用于将源数据库的差异复制到特定表的目标数据库。
要了解有关MERGE声明的更多信息,您可以访问此MSDN link
答案 1 :(得分:0)
有一个名为SQL Compare的程序可以帮助我实现我想要做的事情,而不必自己编写任何脚本。相当昂贵,但试用版可用。