本文可協助您解決當您嘗試在執行 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,請遵循下列步驟:
如果您已安裝 SQL Server,請卸載 SQL Server。 否則,請跳到下一步。
在提升許可權的命令提示字元中執行下列命令,以確認扇區大小為 4 KB:
fsutil fsinfo sectorinfo <volume pathname>重新啟動 Azure VM。
重新安裝 SQL Server。
下列螢幕快照顯示磁碟驅動器的 fsutil fsinfo sectorinfo 命令 E: 輸出,其扇區大小為 8 KB:
下列螢幕快照顯示更新登錄機碼以使用 4 KB 扇區大小的磁碟fsutil fsinfo sectorinfo驅動器命令輸出E::
登錄 ForcedPhysicalSectorSizeInBytes 機碼是作系統層級設定,這表示除非移除此登錄機碼,否則所有磁碟驅動器目前已連結,以及未來連結的磁碟驅動器都會使用 4 KB 扇區大小。