一、问题描述
SQL Server : installation fails with error code 0x851A001A – Wait on the Database Engine recovery handle failedSQL Server:安装失败,错误代码为 0x851A001A – 等待数据库引擎恢复句柄失败
二、问题原因
这是由磁盘的扇区大小引起的。
在服务启动期间,SQL Server 会启动数据库恢复过程以确保数据库的一致性。此数据库恢复过程的一部分涉及在尝试打开系统和用户数据库文件的活动之前对底层文件系统进行一致性检查。
在运行 Windows 11 的系统上,一些新的存储设备和设备驱动程序将公开一个大于支持的 4 KB 扇区大小的磁盘扇区大小。
发生这种情况时,由于文件系统不受支持,SQL Server 将无法启动,因为 SQL Server 当前支持 512 字节和 4 KB 的扇区存储大小。
可以通过运行以下命令来确认您是否遇到了此特定问题:
fsutil fsinfo 扇区信息 E:
查找值 PhysicalBytesPerSectorForAtomicity,以字节为单位返回。值 4096 表示扇区存储大小为 4 KB。
三、 解决方案
可以通过添加一个注册表项,该注册表项将使 Windows 11 及更高版本的行为类似于 Windows 10。这将强制将扇区大小模拟为 4 KB 大小。要添加 ForcedPhysicalSectorSizeInBytes 注册表项,请使用注册表编辑器,或者可以在 Windows 命令提示符或 PowerShell 中以管理员身份运行命令
1、打开注册表编辑器
2、以管理员身份运行命令提示符
添加密钥
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"在这里插入代码片
3、以管理员身份运行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匹配。
总结
到此这篇关于windows11安装sqlserver 2016数据库报错等待数据库引擎恢复句柄失败解决办法的文章就介绍到这了,更多相关SQL server报错等待数据库引擎恢复句柄失败内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!