이 문서는 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 세대는 현재 SQL Server에서 지원되지 않는 기본 섹터 크기인 8KB로 배포됩니다. SQL Server는 현재 표준 네이티브 섹터 크기가 512바이트 및 4KB인 디스크를 지원합니다.
참고
NVMe(비휘발성 메모리 Express)는 NVM(비휘발성 메모리)을 사용하여 서버와 스토리지 시스템 간에 더 빠르고 효율적인 데이터 전송을 용이하게 하는 통신 프로토콜입니다. NVMe를 사용하면 가장 높은 처리량과 가장 빠른 응답 시간으로 데이터를 전송할 수 있습니다.
Azure 가상 머신이 8KB 섹터 크기를 사용하여 배포되고 배포 후 SQL Server를 설치하려고 하면 설치가 실패할 수 있습니다.
참고
이 시나리오는 Azure VM에 SQL Server를 수동으로 설치하는 경우에만 발생하지만 Azure Marketplace에서 SQL Server VM을 배포할 때는 그렇지 않습니다. Azure Marketplace 이미지는 4KB 섹터 크기를 사용하도록 미리 구성됩니다.
해결 방법
이 문제를 해결하려면 Azure VM에서 4KB 섹터 크기를 사용하도록 강제 적용한 후 SQL Server를 다시 설치합니다.
Azure VM에 SQL Server를 성공적으로 설치하려면 다음 단계를 수행합니다.
SQL Server를 이미 설치한 경우 SQL Server를 제거합니다. 그렇지 않은 경우 다음 단계로 건너뜁니다.
ForcedPhysicalSectorSizeInBytes 레지스트리 키를 추가합니다.
관리자 권한 명령 프롬프트에서 다음 명령을 실행하여 섹터 크기가 4KB인지 확인합니다.
fsutil fsinfo sectorinfo <volume pathname>
Azure VM을 다시 시작합니다.
SQL Server를 다시 설치합니다.
다음 스크린샷은 8KB 섹터 크기를 가진 드라이브에 대한 E:
명령의 fsutil fsinfo sectorinfo
출력을 보여줍니다.
다음 스크린샷은 4KB 섹터 크기를 사용하도록 레지스트리 키를 업데이트한 후 드라이브에 대한 E:
명령의 출력 fsutil fsinfo sectorinfo
을 보여줍니다.
레지스트리 키는 ForcedPhysicalSectorSizeInBytes
OS 수준 설정입니다. 즉, 현재 연결된 모든 드라이브와 나중에 연결된 드라이브는 이 레지스트리 키를 제거하지 않는 한 4KB 섹터 크기를 사용합니다.