Windows 11系统安装SQL Server2019数据库提示“等待数据库引擎恢复句柄失败,错误代码0x851A001A”的说明
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
这得有些日子了,群里的网友在Windows 11系统安装SQL Server2019数据库提示“等待数据库引擎恢复句柄失败,数据库安装失败,c”,如下图所示
Windows 11系统安装SQL server2019数据库提示“等待数据库引擎恢复句柄失败,错误代码0x851A001A”的说明
出现这种问题,Windows 11系统支持SQL Server2019数据库没毛病,肯定啥地方有错误,看了一下错误,大致错误如下
首先,导致这个问题原因是硬盘扇区大小与SQL Server不兼容,目前SQL Server只支持512B和4KB大小的扇区,而现在一些新的硬件设备,扇区大小有时会大于4Kb,与SQL Server不兼容,所以会一直安装不上。
可查看自己硬盘分区的扇区大小是否与SQL Server兼容,以管理员身份运行cmd或者PowerShell,运行以下命令(盘符改为数据库安装的盘符):
fsutil fsinfo sectorinfo d:
在返回的信息中“ PhysicalBytesPerSectorForAtomicity”和 “PhysicalBytesPerSectorForPerformance”的值是否等于512或者4096,如跟下图中Win10返回的4096或者是512即可安装,如跟下图中Win11 返回的值不是4096也不是512,就会提示安装失败,下图说明来源下面微软官方
https://learn.microsoft.com/zh-cn/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-os-4kb-disk-sector-size?tabs=registry-editor
注意:个别情况下虽然返回的值是4096或者是512,但是注册表 “计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device”右边的值中没有红框中“ForcedPhysicalSectorSizeInBytes”这一项的话,也是会安装失败。
方案1:格式化硬盘,重新分配扇区大小,让扇区大小与SQL Server匹配。
此方法可以将整个硬盘格式化掉,当然这样做的结果就是丢失所有文件,并且还需要重装系统。也可以格式化一个硬盘分区,将SQL Server安装到对应的分区就行。
方案2:强制模拟扇区大小为4Kb此方法不会影响硬盘分区,可能会造成一点性能方面的损失,基本没啥反应!
1、输出
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" -Name "ForcedPhysicalSectorSizeInBytes" -PropertyType MultiString -Force -Value "* 4095"
2、验证
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" -Name "ForcedPhysicalSectorSizeInBytes"(查看强制模拟结果)
然后重启电脑,安装SQL Server。 注意:通过强制模拟扇区大小为4Kb后,PhysicalBytesPerSectorForAtomicity值是不会改变的,比如我的电脑,在强制模拟后,PhysicalBytesPerSectorForAtomicity值还是32768
看一下微软官社区给出的答案:
https://learn.microsoft.com/zh-cn/answers/questions/3845430/win11-sql-server-m-2-pcle?forum=windows-windows_11-performance&referrer=answers
上面不成功,也可尝试下面的方案:
cmd命令提示符添加:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes" /t REG_MULTI_SZ /d "* 4095" /f
验证是否添加成功
REG QUERY "HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device" /v "ForcedPhysicalSectorSizeInBytes"
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"
问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!
支付宝赞助
微信赞助





