Sql-Server

作業系統返回錯誤 21(設備未就緒。)

  • December 29, 2021

每次我重新啟動 Windows 時,對於某些數據庫,我都會收到此錯誤:

作業系統返回錯誤 21(設備未就緒。)

  1. 我檢查了磁碟chkdsk /r- 沒有壞扇區。
  2. 我執行DBCC CHECKDB沒有錯誤:
*(CHECKDB found 0 allocation errors and 0 consistency errors in database)* 
  1. 如果我重新啟動 SQL Server,錯誤就會消失。

Windows 10 和 SQL Server 2016 Express。

每次我重新啟動 Windows 時,對於某些數據庫都會出現此錯誤。(作業系統錯誤 21 - 設備未準備好)

這是由於磁碟在 SQL Server 啟動時處於離線狀態或未處於聯機狀態,或者在 SQL Server 聯機後已轉換狀態。

3.如果我重新啟動 SQL Server,錯誤就會消失

是的,因為數據庫已在 SQL Server 中重新安裝。假設磁碟設備已修復,您也可以離線-> 聯機數據庫並且它會工作。

通過將數據庫放在磁碟上、禁用磁碟、執行選擇查詢(以獲取錯誤)、使磁碟重新聯機並註意到選擇仍然失敗並出現相同的錯誤,這可以很容易地在測試環境中重現。需要重新安裝數據庫才能再次工作並且不會出現作業系統錯誤 21。

你該怎麼辦?

讓某人進行一些視窗跟踪以找出它為什麼最初沒有上線或為什麼它會離線(任何狀態轉換)或為什麼它顯示準備好進入 Windows 但實際上沒有(可能需要載入其他驅動程序)它)。

此外,檢查任何磁碟過濾器驅動程序是否是最新的,例如防病毒、主機入侵保護等,因為它們也可能阻止服務/啟動/狀態。

我想我找到了原因。

問題很可能是由於“快速啟動”電源選項造成的。

快速啟動

這是一種減少啟動時間的 Windows 技術;快速啟動結合了冷關機和休眠功能的元素。

在這裡你可以找到另一篇關於利弊的文章

我已禁用它,問題似乎已解決。

引用自:https://dba.stackexchange.com/questions/165816