다음을 통해 공유


Azure VM의 SQL Server를 배포하지 못하거나 SQL Server 인스턴스를 온라인 상태로 설정하지 못함

이 문서는 다음 시나리오를 해결하는 데 도움이 됩니다.

  • Azure 가상 머신의 SQL Server용 Azure Marketplace 이미지가 배포에 실패합니다.
  • Azure VM을 다시 시작하거나 할당 취소한 후 SQL Server 인스턴스가 온라인 상태가 되지 않습니다.

적용 대상: Azure VM의 SQL Server

비고

이 문제에 대한 조사가 활발히 진행 중입니다. 이 문서의 정보는 새 세부 정보를 사용할 수 있게 되면 변경될 수 있습니다.

증상

문제에 직면할 경우, 아마도 다음과 같은 현상을 볼 것입니다.

  • Azure Marketplace 이미지를 사용할 때 Azure VM의 SQL Server 배포가 실패합니다.
  • 수동으로 설치된 SQL Server 인스턴스에 대해 Azure VM을 다시 시작한 후 SQL Server가 온라인 상태가 되는 데 실패합니다.

Azure VM의 SQL Server 배포 실패

Azure Marketplace에서 Azure VM 이미지로 SQL Server를 배포하려고 하면 다음 오류가 발생하여 Conflict 상태로 인해 배포가 실패하게 됩니다.

시스템 드라이브에서 사용할 준비가 되지 않은 상태를 반환했습니다.

예를 들어 Azure Portal에서 이미지를 배포하는 경우 활동 로그의 배포에 대해 다음 오류가 표시될 수 있습니다.

Azure Portal의 배포 오류 스크린샷

VM을 다시 시작한 후 SQL Server가 온라인 상태가되지 않습니다.

이 이벤트 시퀀스를 따라가면 이 문제가 표시될 수 있습니다.

  1. 영향을 받은 VM 목록에서 Azure VM을 배포합니다.
  2. Azure VM에 SQL Server 인스턴스를 수동으로 설치합니다.
  3. SQL Server tempdb 데이터베이스를 로컬 SSD 임시 스토리지(일반적으로 D: 드라이브)를 사용하도록 구성합니다.
  4. VM이 다시 시작되거나 할당 취소됩니다.
  5. SQL Server 인스턴스가 온라인 상태가 되어도 실패합니다.

이 문제가 발생하면 SQL Server 오류 로그에 다음 오류가 표시될 수 있습니다.

CREATE FILE encountered operating system error 3(The system cannot find the path specified.) 
while attempting to open or create the physical file 'D:\SQLTemp\tempdb.mdf'.
Error: 17204, Severity: 16, State: 1. FCB::Open failed: Could not open 
file D:\SQLTemp\tempdb.mdf for file number 1. OS error: 
3(The system cannot find the path specified.).
Error: 5120, Severity: 16, State: 101.
Unable to open the physical file "D:\SQLTemp\tempdb.mdf". Operating system error 3:
"3(The system cannot find the path specified.)".
Error: 1802, Severity: 16, State: 4 CREATE DATABASE failed. 
Some file names listed could not be created. Check related errors.
Could not create tempdb. You may not have enough disk space available.
Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. 
Check for additional errors in the event log that may indicate why the 
tempdb files could not be initialized.

원인

최신 Azure VM 크기 중 일부는 NVMe(비휘발성 메모리 Express) 인터페이스로 구성된 임시 스토리지에 대한 RAW 로컬 SSD 볼륨을 제공합니다. 이 구성은 SQL Server가 tempdb 데이터베이스를 임시 스토리지에 배치하려고 시도하지만, 로컬 SSD 볼륨을 사용할 수 없기 때문에 실패합니다. 또한 임시 스토리지는 서버의 할당 해제 후 RAW로 표시됩니다.

RAW 로컬 SSD 볼륨으로 인해 SQL VM 배포가 실패하고 VM을 다시 시작한 후 수동으로 설치된 SQL Server 인스턴스가 온라인 상태가 되는 것을 방지합니다. 두 경우 모두 SQL Server는 사용할 수 없는 임시 스토리지에서 데이터베이스를 초기화 tempdb 하려고 합니다. Azure VM을 배포하는 동안 SQL Server가 설치되고 임시 스토리지를 사용할 수 없으므로 배포가 실패합니다. 마찬가지로 SQL Server에서 데이터베이스를 만들려고 tempdb 할 때 임시 스토리지를 사용할 수 없으므로 VM을 다시 시작한 후 수동으로 설치된 SQL Server 인스턴스가 온라인 상태가 되지 않습니다.

해결 방법

이 문제는 선택한 Azure VM 크기 때문에 발생합니다. 이 문제를 해결하려면 다음 방법 중 하나를 사용합니다.

  • 가능하면 VM 크기 모범 사례에 나열된 것과 같은 다른 VM SKU를 사용합니다.
  • 영향을 받은 VM 목록에 있는 특정 VM을 사용하려면 이름에 소문자 d 없이 SQL Server 데이터 파일과 동일한 스토리지에 배치 tempdb 되는 컴퓨터를 사용합니다. 예를 들어 FXmsv2 대신 FXmdsv2 VM 크기를 사용합니다. 후자는 이름에 표시된 d 대로 초기화되지 않은 임시 스토리지가 있습니다.
  • RAW 로컬 SSD 없이 다른 VM SKU를 사용할 수 없는 경우 Windows Server 전용 이미지를 사용하여 VM을 배포 하고 임시 NVMe 드라이브를 포맷하고 초기화한 다음 SQL Server를 수동으로 설치합니다. VM을 다시 시작하거나 할당을 취소할 때마다 SQL Server를 시작하기 전에 디스크를 다시 초기화해야 합니다.

비고

SQL Server를 설치하기 전에 4KB보다 큰 섹터 크기를 사용하여 VM이 구성되지 않았는지 확인합니다.

영향을 받은 VM

이 문제는 초기화되지 않은 임시 드라이브와 함께 배포된 VM에서 발생합니다(예: 다음 VM 크기).

Intel Gen 10.2 AMD Gen 9.1
Dldsv6 Daldsv6
Ddsv6 Dadsv6
Edsv6 Eadsv6
Lsv3 - 모든 Azure VM
Fxmdsv2