【问题标题】:To transfer data from sql server database to another copy of the same database将数据从 sql server 数据库传输到同一数据库的另一个副本
【发布时间】:2013-08-13 12:34:25
【问题描述】:

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

更新DB2中部分表的数据,使其与DB1相同(即:DB1为源,DB2为目的) 并将DB1中其他一些表的数据更新为与DB2相同(即:DB2为源,DB1为目的地)

如何使用 c# 程序制作这个?希望能帮助我找到最好的解决方案。

请记住,程序和两个副本之间没有任何联系,并且表在标识列上有很多关系

谢谢:)

【问题讨论】:

标签: c# sql-server


【解决方案1】:

我的建议是设置一个链接服务器,然后创建使用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 为例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-19
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2016-07-28
    相关资源
    最近更新 更多