적용 대상: SQL Server, Azure VM의 SQL Server - Windows
요약
이 문서는 Windows 실행되는 Microsoft Azure VM(가상 머신)에 SQL Server 인스턴스를 수동으로 설치할 때 발생하는 문제를 해결하는 데 도움이 됩니다. 네이티브 섹터 크기가 4KB보다 큰 NVMe 디스크를 사용하는 Azure VM에 SQL Server 설치하는 경우 master.mdf 같은 SQL Server 데이터 파일을 8KB 섹터 크기의 볼륨에서 호스팅할 수 없으므로 설정이 실패합니다. 이 문서에서는 최신 Azure VM 시리즈에서 섹터 크기 불일치가 발생하는 이유와 디스크에서 SQL Server 설치가 성공하도록 4KB 섹터 크기를 강제 적용하는 방법을 설명합니다.
증상
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.
이 문제는 온-프레미스 설치 시 발생할 수 있지만 Azure VM에 SQL Server 설치할 때 이를 확인할 가능성이 높습니다.
원인
이 문제는 일부 Azure VM 크기의 디스크 섹터 크기 때문에 발생합니다. Dadsv6, Eadsv6 및 Fasv6과 같은 최신 Azure VM 시리즈는 NVMe 전용 스토리지 인터페이스를 사용하며 NVMe를 지원하는 OS 이미지가 필요합니다. 이러한 VM 시리즈는 기본 네이티브 섹터 크기가 8KB인 디스크를 노출하며 SQL Server 데이터베이스 파일을 지원하지 않습니다. SQL Server 네이티브 섹터 크기가 512바이트 및 4KB인 디스크를 지원합니다. Azure VM이 8KB 섹터 크기로 배포된 다음 SQL Server 설치하는 경우 설치가 실패할 수 있습니다. 자세한 내용은 SQL Server에 대한 스토리지 유형을(를) 참조하세요.
참고
이 시나리오는 Azure VM에 SQL Server 수동으로 설치하는 경우에만 적용됩니다. 해당 이미지는 4KB 섹터 크기를 사용하도록 미리 구성되어 있으므로 Azure Marketplace SQL Server VM 이미지를 배포할 때는 적용되지 않습니다.
영향을 받은 디스크 및 VM 유형
이러한 시나리오에서는 섹터 크기가 일치하지 않는 것이 가장 일반적으로 표시됩니다.
- v6 VM 시리즈의 로컬 NVMe 디스크(예: Dadsv6, Eadsv6, Easv6 및 Fasv6)는 8KB 네이티브 섹터 크기를 노출합니다.
- 논리 섹터 크기가 4096바이트인 디스크를 만들되, 8KB 물리 섹터 크기를 보고하는 호스트를 통해 해당 디스크를 제공하는 경우 프리미엄 SSD v2 및 Ultra Disk
이전 VM 시리즈에 연결하는 표준 HDD, 표준 SSD 및 프리미엄 SSD(v1) 데이터 디스크는 일반적으로 4KB 섹터 크기를 제공하며 영향을 받지 않습니다.
해결 방법
이 문제를 해결하려면 Azure VM에서 4KB 섹터 크기를 사용하도록 한 다음 SQL Server 다시 설치합니다.
SQL Server 이미 설치되어 있으면 제거합니다. 그렇지 않은 경우 다음 단계로 건너뜁니다.
ForcedPhysicalSectorSizeInBytes 레지스트리 키를 추가합니다.
관리자 권한 명령 프롬프트에서 다음 명령을 실행하여 섹터 크기가 4KB인지 확인합니다.
fsutil fsinfo sectorinfo <volume pathname>Azure VM을 다시 시작합니다.
SQL Server를 다시 설치합니다.
다음 스크린샷은 8KB 섹터 크기를 포함하는 드라이브에 대한 fsutil fsinfo sectorinfo 명령의 E: 출력을 보여줍니다.
다음 스크린샷은 4KB 섹터 크기를 사용하기 위해 레지스트리 키가 추가된 후 드라이브에 대해 E: 동일한 명령의 출력을 보여줍니다.
ForcedPhysicalSectorSizeInBytes 레지스트리 키는 OS 수준 설정입니다. 현재 연결된 모든 드라이브와 나중에 연결된 모든 드라이브는 이 레지스트리 키를 제거할 때까지 4KB 섹터 크기를 사용합니다.