无论出于何种原因,当我进入使用 BCP 实用程序从查询中生成包含数据的 txt 文件的步骤时,它会挂在文件创建上。那么如果我尝试在数据库中查询这些表,它真的不会让我这样做。
有谁知道为什么会这样?查询其实很简单:
SET @cmdQueryout = 'bcp "SELECT X FROM Database.dbo.Details WHERE DetailsId = (SELECT MAX(DetailsId) FROM Database.dbo.Details WHERE CommitDateTime IS NOT NULL AND LEFT(PolicyNumber, 3) != ''NYD'') ORDER BY X, Y, Z" queryout "' + @detailFilePath + '" -c -T'
EXEC master..xp_cmdshell @cmdQueryout
我可以看到它创建了第一个文件,但其中没有数据并且它停在那里。
我可以打开文件,但如果我尝试删除,它不会让我,因为 BCP 正在使用该文件。
查询的运行时间不应超过几秒钟,那么为什么会这样停止呢?
编辑 - 如果我在另一个查询窗口中单独运行它,它可以工作。
但如果它在 SQL 作业和事务中,它就不起作用。