比如在某個表中使用 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 ()
如果出現錯誤:未處理修復語句。數據庫需處於單用戶模式下。
可以先啟用單用戶模式