0

我正在使用 Sql Azure 数据库迁移向导 ( https://sqlazuremw.codeplex.com/ ) 将数据库从一个实例迁移到另一个实例。默认批量大小设置为 1000,尝试以下增加批量大小

在 SQLAzureMW.exe.config 和 SQLAzureMW.vshost.exe.config 中修改了以下内容

<add key="BCPArgsIn" value="{0} in {1} -E -n -C RAW -b 1000 -a 4096"/>
<add key="BCPArgsOut" value="&quot;{0}&quot; out {1} -E -n -C RAW"/>

<add key="BCPArgsIn" value="{0} in {1} -E -n -C RAW -b 50000"/>
<add key="BCPArgsOut" value="&quot;{0}&quot; out {1} -E -n -C RAW -b 50000"/>

在执行 BCP 输入或 BCP 输出时,默认批量大小仍被视为 1000。如何解决这个问题?

命令已更改为

bcp.exe dbname.dbo.tablename out C:\BCP_OUT\dbo_tablename.dat -E -n -C RAW -b 500000 -S servername -U "username" -P "mypassword"

但它仍然一次只传输 1000 条记录。

4

1 回答 1

0

批量大小选项仅对 BCP 输入有效,但对 BCP 输出无效。因此,需要做的就是增加 BCP 输出的数据包大小(我使用了 -a 65535,这是最大值)。

于 2016-07-17T17:17:33.520 回答