我有一个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/