将数据从本地文件复制到远程SQL Server而不使用BCP

时间:2014-02-14 15:46:55

标签: c# sql .net sql-server

背景资料:我所在的公司生产的数据库支持的产品已经存在了几十年。当客户从较旧版本升级时,某些表已经发生了很大变化,以至于可能需要很长时间才能应用模型更改。在一个案例中,用一张桌子花了17个小时。我们发现我们可以使用BCP命令行实用程序将所有表数据转储到磁盘,截断表,应用模型更改并重新加载数据,所有这些都在很短的时间内完成(17小时的情况是减少到7个小时以上。)

问题:BCP does not do truncation。它 能够通过网络将数据传输到服务器,但它没有提供任何方法来执行等效的set ANSI_WARNINGS OFF。试图预截断数据是不可行的(它会破坏我们试图实现的性能优势),BCP并没有告诉我们哪个列是问题。目前我们已经回到使用BULK INSERT的替代方案,我们可以使用ANSI_WARNINGS选项。

我的问题是,有没有人知道通过网络远程发送数据的方法,但是仍然可以设置选项以便允许截断?我想我基本上是在尝试重新实现BCP实用程序的一部分,只需稍加改动。

0 个答案:

没有答案