最近安裝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周,各種安裝方法,結果驚奇的一致,永遠的“資料庫引擎服務”-失敗,永遠的“等待資料庫引擎恢復句柄失敗”:

強制模擬后,安裝結果,終于成功了:

此方案不是我的原創,是我在微軟社區提問后,由 AnalogKnight 提供的解決方案,在此表示感謝,
微軟社區問答地址:win11環境下,SQL SERVER在M.2、PCLE的硬碟介面下無法安裝 - Microsoft Community
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/445395.html
標籤:SQL Server
