繁体   English   中英

传输大量数据的最佳实践。 使用存储过程或SQL批量复制

[英]Best practice for transferring a large amount of data. Using Stored Procedure or SQL Bulk Copy

我有一台服务器的不同数据库和表中有大量数据要传输到另一台服务器的不同数据库和表中。 我已经创建了一个存储过程,而我的C#应用​​程序所做的只是将参数传递给我的存储过程。

最近,我发现了SQL Bulk ,许多程序员都在使用该SQL Bulk传输大量数据。

那么,这两者中的哪一个是传输大量数据的最佳实践,为什么呢?

就个人而言,如果数据大小合理,则可以执行以下操作:

  1. 将表复制到新的(空)数据库中,
  2. 断开连接并将新数据库移动到另一台服务器,
  3. 将数据库连接到新服务器,
  4. 将数据加载到所需的任何目标表中。

当然,如果您需要多次执行此操作,那可能不是最佳选择。 但是,对于一次性的应用程序,它应该可以解决问题,而不必摆弄其他方法。

批量插入的速度很快! 我认为没有什么比做这样的事情更快。

BULK INSERT EmployeeDB.dbo.Employees
FROM 'C:\Data\EmployeeData_c.dat'
WITH 
  (
    DATAFILETYPE = 'char',
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\r\n'
  );

有关更多详细信息,请参见下面的链接。

https://www.simple-talk.com/sql/learn-sql-server/bulk-inserts-via-tsql-in-sql-server/

暂无
暂无

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

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