當在SQL Server數據庫中標記恢復待定狀態,這意味著其一個或多個核心文件處於不一致的狀態。因此,無法訪問數據庫。一旦您知道為什麼會發生這種情況,您可以找到解決問題的適當方法,以便您可以再次訪問數據。然後,您可以在SQL Server Management Studio(SSM)中執行查詢並修復恢復待處理狀態中的SQL Server數據庫問題。
在解決恢復待處理狀態之前,讓我們看看SQL Server數據庫的其他可用狀態。數據庫中有三個普通狀態:
- 在線的。如果單個文件損壞,則SQL Server仍然可用並在線。
- 懷疑。如果數據庫無法恢復損壞的數據(如果恢復失敗),則將顯示為可疑。
- 恢復未決。當服務器知道數據庫需要恢復但出現問題並且無法啟動恢復時,它將顯示為恢復待定。
要檢查數據庫的狀態,您可以使用以下SQL查詢:
從sys.database選擇state_desc
去
結果將顯示所有現有數據庫及其州。如果任何數據庫將“恢復待處理”顯示為state_desc列中的值,則表示您的數據庫處於該特定狀態。
如何在SQL Server數據庫中修復恢復狀態?
要在恢復待發問題中修復“ SQL Server數據庫”,請執行以下步驟:
- 在緊急模式下打開SQL數據庫,以將其標記為read_only。這僅授予對系統管理員的訪問。然後,打開SQL Server Management Studio(SSM)。
- 通過從對象資源管理器面板上右鍵單擊並選擇數據庫,為數據庫創建一個新的查詢窗口新查詢。
- 執行以下命令:
Alter數據庫<DBName>設置緊急情況;去
alter數據庫[dbname]設置single_user
去
dbcc checkdb([dbname],restion_allow_data_loss)at all_errormsgs;
去
ALTER數據庫[dbName]設置Multi_user
去
- 執行上述命令後,將數據庫離線(分離)進行,然後使用命令在線返回(重新連接):
Alter數據庫[DBNAME]設置緊急情況;
ALTER數據庫[dbName]設置Multi_user
exec sp_detach_db'[dbName]'
exec sp_attach_single_file_db @dbname ='[dbname]',@physname = n'[mdf path]'
- 執行上述步驟後,服務器將擺脫損壞的日誌並自動構建新的日誌。
為什麼數據庫進入恢復狀態?
由於一個或多個原因,例如係統數據文件的損壞,寫操作丟失和磁盤錯誤,數據庫可以進入恢復狀態。在大多數情況下,當主文件及其日誌文件或差分備份之間存在不一致時,就會發生此問題。
如何修復SQL數據庫並恢復數據
您可以在SQL Server上運行DBCC CheckDB命令,以檢查數據庫文件中的任何錯誤和損壞並修復它。您可以使用數據恢復軟件來恢復您的SQL丟失的文件。 salvagedata提供免費的數據恢復軟件。要使用salvagedata數據恢復工具,首先,您必須下載並安裝軟件。使用條款和條件,然後單擊數據恢復按鈕。

之後,選擇您希望從中檢索文件的驅動器。然後,單擊恢復。

選擇文件系統,然後單擊掃描。一旦掃描過程完成,您可以從列表中選擇要恢復的文件。如果您喜歡,可以與我們的數據恢復專家(24/7/365)聯繫以獲取緊急數據恢復服務。