SQL Server:BCP vs SQLCMD - 什么更有效?

时间:2010-10-22 08:16:53

标签: c# sql-server-2005 bcp sqlcmd

我正在用c#编写一个程序,用于从一个数据库导出SQL Server数据并将其导入另一个数据库。由于这两个服务器没有连接,我需要选择一个方法,如bcp。

  1. 这两者有什么区别?一个比另一个更有效吗?在什么情况下?
  2. 每个的已知限制/兼容性问题是什么?
  3. 还有哪些其他方法可以将数据从SQL Server导出到文件中并从中导入?
  4. 我可以在这些文件中启用压缩,同时通过命令行开关创建压缩而不是之后压缩它们吗?
  5. 请在做出此决定时包括您认为重要的任何其他方面。
  6. 提前致谢。

1 个答案:

答案 0 :(得分:2)

不包括BCP,但我确实编写了一个blog post,比较了将数据批量加载到SQL Server中的几种方法 - 通过SqlDataAdapter将SqlBulkCopy与批量插入进行比较。

SqlBulkCopy值得一试 - 您使用的进程类型是查询数据库1并检索SqlDataReader。将SqlDataReader传递给SqlBulkCopy以将该数据持久保存到数据库2中。