我有一个符合
的交易BEGIN TRANSACTION
INSERT INTO Table2 WITH(TABLOCK)
SELECT BLAH
FROM Table
COMMIT TRANSACTION
此交易可能需要一个小时才能完成。
我想运行一个类似的查询:
SELECT COUNT(*) FROM Table2
在一个完全不同的线程上定期,可以报告到目前为止已经插入了多少行。
这可能吗?有没有办法查询未提交的行数?
感谢
答案 0 :(得分:0)
在查询中添加WITH(NOLOCK)提示。
SELECT COUNT(*) FROM Table2 WITH (NOLOCK);
在开始交易之前先取基线计数,然后从当前数字中减去该值,以获得新插入的行数。