なんらかの理由で、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 ジョブおよびトランザクション内にある場合は機能しません。