繁体   English   中英

要将数据从sql server数据库传输到同一数据库的另一个副本

[英]To transfer data from sql server database to another copy of the same database

我有同一SQL Server数据库的两个副本(DB1和DB2)。 什么是执行以下操作的最佳方法:

更新DB2中某些表的数据,使其与DB1相同(即:DB1是源,DB2是目标),并将DB1中其他表的数据更新为与DB2相同(即:DB2是源并且DB1是目的地)

如何使用C#程序做到这一点? 希望能以最好的解决方案帮助我做到这一点。

请记住,程序与两个副本同时没有连接,并且表在Identity列上有很多关系

谢谢 :)

我的建议是设置一个链接服务器,然后创建使用MERGE SQL命令的存储过程。

请注意,这是半伪代码示例

 MERGE DB2 AS target
    USING DB1 AS source
    ON <Primary Keys>
    WHEN MATCHED THEN 
        UPDATE SET Key = source.Value
    WHEN NOT MATCHED THEN   
        INSERT (<Columns>)
        VALUES (source.values)
        OUTPUT deleted.*, $action, inserted.* INTO #MyTempTable;

然后,您可以创建一个SqlConnection/SqlCommand ,然后调用存储过程。 您可以将此代码最终托管在Windows服务或正常的.Net事件中,例如,单击按钮,例如OnLoad。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM