共用方式為


SQL Server 安裝在 Windows Server Azure 虛擬機上因扇區大小錯誤而失敗

本文可協助您解決當您嘗試在執行 Windows 的 Microsoft Azure 虛擬機上手動安裝 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 的磁碟。

注意事項

非揮發性記憶體 Express (NVMe) 是一種通訊通訊協定,可透過使用非揮發性記憶體(NVM)在伺服器和儲存系統之間更快速且更有效率地傳輸數據。 透過 NVMe,資料能夠以最高輸送量和最短回應時間傳輸。

如果使用 8 KB 扇區大小部署 Azure 虛擬機,而且您在部署後嘗試安裝 SQL Server,安裝可能會失敗。

注意事項

只有當您在 Azure VM 上手動安裝 SQL Server,但不是當您從 Azure Marketplace 部署 SQL Server VM 時,才會發生此案例。 Azure Marketplace 映射已預先設定為使用 4 KB 扇區大小。

解決方案

若要解決此問題,請在強制 Azure VM 使用 4 KB 扇區大小之後重新安裝 SQL Server。

若要在 Azure VM 上成功安裝 SQL Server,請遵循下列步驟:

  1. 如果您已安裝 SQL Server,請卸載 SQL Server。 否則,請跳到下一步。

  2. 新增 ForcedPhysicalSectorSizeInBytes 登錄機碼。

  3. 在提升許可權的命令提示字元中執行下列命令,以確認扇區大小為 4 KB:

    fsutil fsinfo sectorinfo <volume pathname>

  4. 重新啟動 Azure VM。

  5. 重新安裝 SQL Server。

下列螢幕快照顯示磁碟驅動器的 fsutil fsinfo sectorinfo 命令 E: 輸出,其扇區大小為 8 KB:

8 KB 扇區大小的命令提示字元輸出螢幕快照。

下列螢幕快照顯示更新登錄機碼以使用 4 KB 扇區大小的磁碟fsutil fsinfo sectorinfo驅動器命令輸出E:

4 KB 扇區大小的命令提示字元輸出螢幕快照。

登錄 ForcedPhysicalSectorSizeInBytes 機碼是作系統層級設定,這表示除非移除此登錄機碼,否則所有磁碟驅動器目前已連結,以及未來連結的磁碟驅動器都會使用 4 KB 扇區大小。