Sql-Server
表損壞錯誤
我的 SQL Server 數據庫有問題。今天打開它,看到一個錯誤——SQL Server Table Corruption Error。
我不知道這個錯誤的原因。我應用了 SQL Server Management Studio,但它無法完全恢復我的數據庫。
有人知道修復 SQL Server 數據庫的方法嗎?
數據庫是否打開而您只是無法查看單個表,或者您根本無法瀏覽您的數據庫?伺服器上的其他數據庫是否受到影響,還是只有一個?目前的數據庫狀態是什麼 - 離線、可疑或其他?每個都可能意味著糾正或修復問題的不同步驟。
此外,如果您手頭有備份,則需要將其放在附近,以防無法修復導致此問題的損壞。
如果您可以打開數據庫,首先您需要使用 DBCC 掃描它,看看是否有任何明顯的情況出現:
DBCC CHECKDB ('YourDatabase') WITH NO_INFOMSGS
從那裡,處理您看到的錯誤消息或警告 - 它應該提供足夠的詳細資訊,以便您能夠搜尋特定問題(或更新您的問題以包含這些詳細資訊,以便我們可以更直接地幫助您)。
SqlMag 有一個關於腐敗的精彩系列,它是什麼,以及如何應對它,從這裡開始:
http://sqlmag.com/blog/sql-server-database-corruption-part-i-what-corruption
如果您想查看他們的修復建議,請跳至第 9 節,但請確保在採取任何行動之前了解您正在處理的內容。
在採取任何步驟之前,請閱讀有關
DBCC CHECKDB
選項的資訊。
- 要修復表,請將數據庫更改為單使用者模式(如果是多使用者模式)
ALTER DATABASE [databasename] SET SINGLE_USER WITH NO_WAIT
- 修復表:
use databasename; dbcc checktable('myDbTableName', repair_allow_data_loss)
- 修復後需要再次檢查數據庫,並設置為多使用者模式
ALTER DATABASE [MyDbName] SET MULTI_USER WITH NO_WAIT