c# - 以编程方式通过 LAN 将数据从一台 SQL Server 复制到另一台 SQL Server

标签 c# sql

我有一个SQL服务器A位于某个地方,其中包含大量记录(原始数据)。如果有需要通过 Web 服务 (WCF) 处理的记录,并且我需要将该记录移至 SQL Server B 进行处理,则那里的持续运行进程 (C# .NET) 会通知我。优雅而有效的方法是什么?

对此我有一些想法: 1)通过WCF将记录从一个批量发送到另一个。 2) 将记录保存在文件中并将其加载到FTP。然后我可以从那里下载它并将记录上传到我的数据库。

还有其他更好的方法吗?

最佳答案

I have a couple of thoughts on that: 1) Sent the records in batches from one to the other via WCF. 2) Save the records in a file and load it to FTP. Then I can download it from there and upload the records to my DB.

这实际上取决于数据的实时性。在我们的组织中,我们使用大量 MQ 来保持数据同步,因为数据需要在不同应用程序之间实时更新。

实时

如果数据需要实时,并且您可以设置 MQ,这就是我的建议。它们速度快、重量轻且耐用。它们确实需要一些工作来设置,但是 here is a link这可以帮助您入门。

批量

如果数据可以批量更新,情况会更好。实时数据以及分类带来的问题在实践中要复杂得多、麻烦得多。使用批处理文件,您可以预先验证和清理数据,以确保 CRUD 操作成功。对于批处理,使用带分隔符或固定的文本文件,并使用 SSIS 作业导入它。 SSIS 可以从 FTP 服务器上下载它导入它,一举完成。

关于c# - 以编程方式通过 LAN 将数据从一台 SQL Server 复制到另一台 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17087544/

相关文章:

sql - 仅将表用于多重继承是一种不好的做法吗?

MySQL子查询与日期之间

sql - 将一些 SQL 查询转换为事件记录

c# - Dictionary <,> Size 、GetHashCode 和素数?

c# - 为什么反序列化的 JSON 数组返回 null?

c# - 点的所有有效组合,以最(速度)有效的方式

c# - 将数据从 C# 传递到 PHP

sql - select distinct(date) 多次返回相同的日期

sql - 如何创建一个 MySQL JOIN 查询,只选择一个表中的行,而另一个表中存在对该行的一定数量的引用?

c# - 使用 CodeDom 生成具有值和名称的枚举