我正在使用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=""{0}" out {1} -E -n -C RAW"/>
到
<add key="BCPArgsIn" value="{0} in {1} -E -n -C RAW -b 50000"/>
<add key="BCPArgsOut" value=""{0}" 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条记录。
答案 0 :(得分:0)
批量大小选项仅对BCP有效,但不对BCP有效。因此,所有需要做的就是增加BCP的数据包大小(我使用了-a 65535这是最大的)。