SQL Server 2008 R2,查询报错
提示如下:CouldnotcontinuescanwithNOLOCKduetodatamovement。查询语句只是SELECT*FROMTable1(NOLOCK)W...
提示如下: Could not continue scan with NOLOCK due to data movement。
查询语句只是SELECT * FROM Table1(NOLOCK) WHERE Createdate>'2013-02-06 00:00:00' 展开
查询语句只是SELECT * FROM Table1(NOLOCK) WHERE Createdate>'2013-02-06 00:00:00' 展开
2个回答
2013-02-07
展开全部
使用NOLOCK提示或READ UNCOMMITTED隔离级别的语句有失败的小风险。这会发生于SQL Server在读一个已经被删除的页时,因缺少已连接列表和读取请求页的正确连接。
这种情况发生时,我们会看到错误601,而且查询也会被中止。错误601的内容是:
Could not continue scan with NOLOCK due to data movement.
我们并不会经常看到这个错误,但如果应用程序使用READ UNCOMMITTED的NOLOCK提示,就应该测试它,并且当错误发生时还应重新提交查询。
这个看上去好像是只能再查询一次了。
这种情况发生时,我们会看到错误601,而且查询也会被中止。错误601的内容是:
Could not continue scan with NOLOCK due to data movement.
我们并不会经常看到这个错误,但如果应用程序使用READ UNCOMMITTED的NOLOCK提示,就应该测试它,并且当错误发生时还应重新提交查询。
这个看上去好像是只能再查询一次了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询