本文可帮助你解决尝试在运行 Windows 的 Microsoft Azure 虚拟机(VM)上手动安装 SQL Server 实例时发生的问题。
适用于: SQL Server、Azure VM 上的 SQL Server - Windows
症状
尝试在运行 Windows 的 Azure 虚拟机(VM)上安装 SQL Server 实例时,安装会失败,当引擎尝试在安装期间启动时,SQL Server 错误日志中会收到以下错误消息:
无法使用文件“...\master.mdf”,因为它最初采用扇区大小 4096 的格式,现在位于扇区大小为 8192 的卷上。 请将此文件移到其扇区大小小于或等于原始扇区大小的卷。
此外,可以在 SQL Server 安装文件夹中Summary.txt日志文件中看到以下信息:
Detailed results:
Feature: Database Engine Services
Status: Failed
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A0019
Error description: Could not find the Database Engine startup handle.
本地安装可能会出现此问题,但在 Microsoft Azure 虚拟机(VM)上安装 SQL Server 时可能会遇到此问题。
原因
此问题是由于某些 Azure 虚拟机上磁盘的扇区大小配置导致的。 一些最新的 Azure VM 代(如 Da、Ea 和 Fav6)具有仅限 NVMe 的存储接口,并且需要支持 NVMe 的 OS 映像。 但是,这些最新的 Azure VM 代代部署的默认扇区大小为 8 KB,SQL Server 目前不支持此大小。 SQL Server 当前支持标准本机 扇区大小为 512 字节和 4 KB 的磁盘。
备注
非易失性内存快速(NVMe)是一种通信协议,它通过使用非易失性内存(NVM)促进服务器和存储系统之间的数据传输更快、更高效。 使用 NVMe,可以以最高吞吐量和最快的响应时间传输数据。
如果使用 8 KB 扇区大小部署 Azure 虚拟机,并且部署后尝试安装 SQL Server,则安装可能会失败。
备注
仅当在 Azure VM 上手动安装 SQL Server,而不是从 Azure 市场 部署 SQL Server VM 时,才会发生这种情况。 Azure 市场映像已预先配置为使用 4 KB 扇区大小。
解决方案
若要解决此问题,请在强制 Azure VM 使用 4 KB 扇区大小后重新安装 SQL Server。
若要在 Azure VM 上成功安装 SQL Server,请执行以下步骤:
如果已安装 SQL Server,请卸载 SQL Server。 否则,请跳到下一步。
通过在提升的命令提示符中运行以下命令,验证扇区大小是否为 4 KB:
fsutil fsinfo sectorinfo <volume pathname>
重启 Azure VM。
重新安装 SQL Server。
以下屏幕截图显示了驱动器的命令E:
的fsutil fsinfo sectorinfo
输出,该驱动器的大小为 8 KB:
以下屏幕截图显示了更新注册表项以使用 4 KB 扇区大小的驱动器的命令E:
输出fsutil fsinfo sectorinfo
:
ForcedPhysicalSectorSizeInBytes
注册表项是 OS 级设置,这意味着当前附加的所有驱动器以及将来附加的驱动器都使用 4 KB 扇区大小,除非删除此注册表项。