SQL Server 各種安裝失敗,報錯「等待資料庫引擎恢復句柄失敗」

中年農碼工 發佈 2022-10-30T01:29:22.203828+00:00

最近安裝SQL 2019遇到這個問題,試過網上幾乎所有辦法,都安裝不上。最後在微軟社區提問解決了,由於這個問題不常見,並且網上幾乎沒有正確的解決方案,因此將我的解決過程及經驗記錄分享一下,也為後來者提供參考。

最近安裝SQL 2019遇到這個問題,試過網上幾乎所有辦法,都安裝不上。最後在微軟社區提問解決了,由於這個問題不常見,並且網上幾乎沒有正確的解決方案,因此將我的解決過程及經驗記錄分享一下,也為後來者提供參考。

  1、如果是權限問題,現有的網上很多修改權限的方案是可以解決安裝問題的,在此不做介紹。

  2、按網上修改了權限、或其他一系列正確操作後,還是安裝不上的。這種情況的用戶,有一個共同點,電腦是近幾年內新購的(現在是2022.03)

  以下只是第2種情況的分析和解決

  首先,導致這個問題原因是硬碟扇區大小與SQL Server不兼容。

  目前SQL Server只支持512B和4KB大小的扇區,而現在一些新的硬體設備,扇區大小有時會大於4Kb,與SQL Server不兼容,所以會一直安裝不上。

  可以查看自己硬碟分區的扇區大小是否與SQL Server兼容,用管理員身份運行PowerShell,輸入fsutil fsinfo sectorinfo D:(如想查詢其他分區,修改對應盤符即可)

  在返回的信息中,查看 PhysicalBytesPerSectorForAtomicity的值,如果值不是512或4096,則代表SQL Server無法安裝到此硬碟上。

  這個是我的電腦扇區大小

  解決方案:

  方案1:格式化硬碟,重新分配扇區大小,讓扇區大小與SQL Server匹配。

    此方法可以將整個硬碟格式化掉,當然這樣做的結果就是丟失所有文件,並且還需要重裝系統。也可以格式化一個硬碟分區,將SQL Server安裝到對應的分區就行。

  方案2:強制模擬扇區大小為4Kb

    此方法不會影響硬碟分區,但可能會造成一點性能方面的損失。

    用管理員身份運行PowerShell,

    輸入:New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" -Name "ForcedPhysicalSectorSizeInBytes" -PropertyType MultiString -Force -Value "* 4095"

    驗證:Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" -Name "ForcedPhysicalSectorSizeInBytes"(查看強制模擬結果)

    然後重啟電腦,安裝SQL Server。

    注意:通過強制模擬扇區大小為4Kb後,PhysicalBytesPerSectorForAtomicity值是不會改變的,比如我的電腦,在強制模擬後,PhysicalBytesPerSectorForAtomicity值還是32768

連續2周,各種安裝方法,結果驚奇的一致,永遠的「資料庫引擎服務」-失敗,永遠地「等待資料庫引擎恢復句柄失敗」:

強制模擬後,安裝結果,終於成功了:

關鍵字: