Недавно мы перенесли всю обработку из локальной SQL Server 2008 в облачную среду SQL Server 2016. Мы часто используем команды BCP для загрузки источников (ежедневные текстовые файлы в таблицы) и окончательного вывода (из таблицы в текстовые файлы).
В последнее время мы часто сталкиваемся с проблемой, когда мы выполняем 2 или более команд BCP одновременно, мы получаем ошибку
Процесс не может получить доступ к файлу, поскольку он используется другим процессом
Большинство команд BCP извлекает данные из разных папок и извлекает их в разные папки. К сожалению, мы никогда не сталкивались с этой проблемой, когда выполняли их на локальном SQL Server 2008.
Пожалуйста, дайте нам знать, как мы можем включить параллельное выполнение для сценария xp_cmdshell bcp
на SQL Сервере.
Вы также можете увидеть ниже образец команды BCP
declare @bcp_command varchar(2000)
set @bcp_command = bcp db_name.dbo.table_sale out F:\drive\outbound\sale.txt -c -t"~" -S(OCI Server) -Uusername -r"\n" -Ppassword
exec xp_cmdshell @bcpcommand