SQL Server 2008 (sp2) ストアド プロシージャで、トランザクションを開始する前に 2 つの一時テーブルを作成します。私はトランザクションでそれらに挿入します。トランザクションがかなり大きなデータ セット (最大 1,200 回) をループすると、ストアド プロシージャは終了しません。具体的には、トレースはそれを示しています
SELECT * FROM #tmpTable2
以下のコードでは、開始しますが完了しません。ループが約半分の大きさになると、問題なく動作します。
IF [true] > 0 --error
BEGIN
SELECT * FROM #tmpTable1
SELECT * FROM #tmpTable2
DROP TABLE #tmpTable1
DROP TABLE #tmpTable2
rollback TRANSACTION
return -1
END
トレースでは、transactionlog
失敗するポイントに到達するにつれて、イベントがより頻繁に発生することに注意してください。
何か案は?ありがとう!