Delen via


De implementatie van SQL Server op azure-VM mislukt of het SQL Server-exemplaar komt niet online

Dit artikel helpt u bij het oplossen van de volgende scenario's:

  • Het implementeren van een Azure Marketplace-afbeelding voor een virtuele machine (VM) van SQL Server op Azure slaat niet op.
  • Een SQL Server-exemplaar kan niet online komen nadat een Azure-VM opnieuw is opgestart of de toewijzing ervan ongedaan is gemaakt.

Van toepassing op: SQL Server op Azure-VM's

Opmerking

Het onderzoek naar dit probleem is actief bezig. De informatie in dit artikel kan worden gewijzigd zodra er nieuwe gegevens beschikbaar komen.

Symptomen

Als u dit probleem ondervindt, ziet u waarschijnlijk het volgende:

  • SQL Server-installaties op Azure VM mislukken wanneer je een Azure Marketplace-image gebruikt.
  • SQL Server kan niet online komen nadat een Azure-VM opnieuw is opgestart voor handmatig geïnstalleerde exemplaren van SQL Server.

Implementatie van SQL Server in Azure VM mislukt

Wanneer u probeert een SQL Server te implementeren op een Azure-VM-afbeelding vanuit Azure Marketplace, mislukt de implementatie met de status Conflict en de volgende fout:

Het systeemstation rapporteert de status niet klaar voor gebruik.

Als u bijvoorbeeld een image vanuit de Azure Portal implementeert, ziet u mogelijk de volgende fout voor de implementatie in het activiteitenlogboek:

Schermopname van de implementatiefout in Azure Portal.

Waarschuwing

Wanneer deze fout optreedt, slaagt de implementatie van de Azure-VM, maar mislukt de SQL Server-installatie. U moet de VIRTUELE machine verwijderen om kosten te voorkomen. De VM opnieuw inzetten met behulp van een van de methoden die worden beschreven in de secties Oplossing of Tijdelijke oplossingen.

SQL Server kan niet online komen nadat de VIRTUELE machine opnieuw is opgestart

Mogelijk ziet u dit probleem na het volgen van deze reeks gebeurtenissen:

  1. U implementeert een Azure-VM vanuit de lijst met betrokken VM's .
  2. U installeert handmatig een exemplaar van SQL Server op de Azure-VM.
  3. U configureert uw SQL Server-database tempdb om de lokale tijdelijke SSD-opslag (meestal de D: schijf) te gebruiken.
  4. Uw virtuele machine is opnieuw opgestart of gedealloceerd.
  5. Uw SQL Server-exemplaar kan niet online komen.

Als u dit probleem ondervindt, ziet u mogelijk de volgende fout in het foutenlogboek van 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.

Oorzaak

Sommige van de nieuwste Azure VM-grootten bevatten een RAW lokaal SSD-volume voor tijdelijke opslag die is geconfigureerd met de NVMe-interface (Non-Volatile Memory Express). Deze configuratie resulteert in fouten omdat SQL Server probeert de tempdb database op de tijdelijke opslag te plaatsen en mislukt omdat het lokale SSD-volume niet beschikbaar is. Bovendien wordt de tijdelijke opslag weergegeven als RAW nadat de machine is uitgeschakeld.

Het LOKALE RAW-SSD-volume zorgt ervoor dat de SQL VM-implementatie mislukt en voorkomt dat handmatig geïnstalleerde SQL Server-exemplaren online komen nadat de VIRTUELE machine opnieuw is opgestart. In beide gevallen probeert SQL Server de tempdb database te initialiseren in de tijdelijke opslag, die niet beschikbaar is. De implementatie mislukt omdat SQL Server is geïnstalleerd tijdens de implementatie van de Azure-VM en de tijdelijke opslag niet beschikbaar is. Op dezelfde manier kunnen handmatig geïnstalleerde exemplaren van SQL Server niet online komen nadat de VIRTUELE machine opnieuw is opgestart, omdat de tijdelijke opslag niet beschikbaar is wanneer SQL Server de tempdb database probeert te maken.

Resolutie

Dit probleem treedt op vanwege de geselecteerde Azure VM-grootte. Gebruik een van de volgende methoden om het probleem op te lossen:

  • Gebruik indien mogelijk een andere VM-SKU, zoals de SKU's die worden vermeld in de aanbevolen procedures voor VM-grootte.
  • Als u een bepaalde VM wilt gebruiken die op de lijst van betrokken VM's staat, gebruik dan een machine zonder de letter d in kleine letters in de naam, die tempdb op dezelfde opslag plaatst als de SQL Server-gegevensbestanden. Gebruik bijvoorbeeld de FXmsv2 VM-grootte in plaats van FXmdsv2. De laatste maakt gebruik van niet-geïnitialiseerde kortdurende opslag, zoals aangegeven d in de naam.

Tijdelijke maatregel

Als u geen andere VM-SKU kunt gebruiken zonder een onbewerkte lokale SSD, kunt u de volgende tijdelijke oplossingen overwegen:

  • Implementeer de virtuele machine met een installatiekopie met alleen Windows Server, formatteer en initialiseer de tijdelijke NVMe-schijf en installeer vervolgens SQL Server handmatig.

    • Als u ervoor kiest om de lokale SSD te gebruiken tempdb, moet u de schijf opnieuw initialiseren voordat u SQL Server start, telkens wanneer de virtuele machine opnieuw wordt opgestart of de toewijzing ervan wordt ongedaan gemaakt.
  • Implementeer de SQL Server VM-image, maar configureer tempdb om een ander station te gebruiken dan de tijdelijke opslag tijdens het uitrollen. U kunt bijvoorbeeld tempdb configureren om de C: schijf of externe opslagschijf te gebruiken.

    1. U kunt deze instelling configureren op de pagina SQL Server-instellingen in Azure Portal bij het implementeren van de SQL Server VM-installatiekopieën.

    2. Selecteer onder OpslagconfiguratieDe configuratie wijzigen om het deelvenster Opslag configureren te openen.

    3. Vouw tempdb-opslag uit en kies een andere optie danUse local SSD drive:

      Schermopname van de tempdb-opslagconfiguratie in de Azure portal bij het implementeren van een SQL VM-afbeelding.

Getroffen VM's

Dit probleem treedt op bij VM's die een niet-geïnitialiseerde tijdelijke schijf toepassen, zoals de volgende VM-groottes:

Intel Gen 10.2 AMD Gen 9.1
Dldsv6 Daldsv6
Ddsv6 Dadsv6
Edsv6 Eadsv6
Lsv3 - Alle Azure-VM's
Fxmdsv2

Opmerking

Zorg ervoor dat de VM niet is geconfigureerd met een sectorgrootte van meer dan 4 kB voordat u SQL Server installeert.