Изменить размер пакета для мастера миграции базы данных Sql Azure

Я использую мастер переноса баз данных 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"/>

to

<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"/>

Тем не менее размер пакета по умолчанию принимается равным 1000, когда он выполняет ввод или вывод BCP. Как это исправить?

Команда была изменена на

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 записей за один раз.


person hakuna    schedule 13.07.2016    source источник


Ответы (1)


Опция размера партии действительна только для входного BCP, но не для исходящего BCP. Поэтому все, что нужно сделать, это увеличить размер пакета для исходящего BCP (я использовал -a 65535, что является максимальным).

person hakuna    schedule 17.07.2016