具有bcp的存储过程挂起,但是以脚本运行时可以工作

问题描述

我一直在将表导出到文件中,但是该过程的bcp(批量复制程序)部分锁定存在问题。当我将其作为脚本运行时,代码运行良好,但是将其包装到存储过程中时,会生成锁定的进程。

解决方法

我似乎找到了解决方案;承诺。即,我必须包装被截断并插入到表中的代码,该表将由bcp从BEGIN TRANSACTION ... COMMIT中提取数据。现在该程序可以正常工作

我认为这与命令有关 exec master.dbo.xp_cmdshell @bcp 在SQL会话之外进入操作系统。我是正确的,还是有更好的解释?