修改 Sql Azure 数据库迁移向导的批量大小

Modify batch size for Sql Azure Database migration wizard

我正在使用 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条记录。

批量大小选项只对BCP in有效,对BCP out无效。所以所有需要做的就是增加 BCP 输出的数据包大小(我使用了 -a 65535,这是最大值)。