Изменить размер пакета для мастера миграции базы данных 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=""{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"/>
Тем не менее, размер пакета по умолчанию принимается равным 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, что является максимальным).