在事务内输出临时表时,SQL Server存储过程停止

时间:2012-10-12 16:26:38

标签: sql-server transactions trace

在SQL Server 2008(sp2)存储过程中,在启动事务之前,我创建了两个临时表。我在交易中插入它们。当事务循环通过相当大的数据集(约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事件越来越频繁地发生,因为它会失败。

有什么想法吗?谢谢!

0 个答案:

没有答案