Изменить размер пакета для мастера миграции базы данных 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"/>

в

<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. Как это исправить?

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

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

1 ответ

Решение

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

Другие вопросы по тегам