SQL SERVER 報:由於數據移動,未能繼續以 NOLOCK 方式掃描錯誤的解決辦法。


比如在某個表中使用 select xxx from xxx with(nolock) where xxxx 查詢。

提示出錯:由於數據移動,未能繼續以 NOLOCK 方式掃描。 它有可能某些條件出錯,某些條件不出錯。

原因是有可能該表在物理文件存儲中某一塊數據損壞了。或者該表中的索引和表的數據不一致了。

解決辦法-如果是整個庫出錯可以使用:

1、快速修復
DBCC CHECKDB ('數據庫名', REPAIR_FAST)     
2、重建索引並修復
DBCC CHECKDB ('數據庫名', REPAIR_REBUILD)
3、如果必要允許丟失數據修復
DBCC CHECKDB ('數據庫名'', REPAIR_ALLOW_DATA_LOSS)

 

如果只是某個表出錯-可以使用:

DBCC CHECKTABLE ()

 

如果出現錯誤:未處理修復語句。數據庫需處於單用戶模式下。

可以先啟用單用戶模式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM