Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server på virtuella Azure-datorer
Sammanfattning
SQL Server på en virtuell Azure-dator (VM) kan misslyckas att distribueras från en avbildning i Azure Marketplace med felet "Systemenheten returnerade statusen inte klar för användning." En manuellt installerad SQL Server-instans kan också misslyckas att starta efter att den virtuella datorn har startats om eller avallokerats. Dessa fel uppstår när SQL Server inte kan initiera tempdb databasen på otillgänglig lokal tillfällig lagring. Den här artikeln hjälper dig att lösa eller kringgå dessa fel.
Anmärkning
Utredningen av den här frågan pågår aktivt. Informationen i den här artikeln kan komma att ändras när ny information blir tillgänglig.
Symtom
Om du stöter på det här problemet ser du förmodligen:
- SQL Server på Azure VM-distributioner misslyckas när du använder en Azure Marketplace-avbildning.
- SQL Server kan inte anslutas efter att en virtuell Azure-dator har startats om för manuellt installerade instanser av SQL Server.
SQL Server på Azure VM-distribution misslyckas
När du försöker distribuera en SQL Server på en virtuell Azure-datoravbildning från Azure Marketplace misslyckas distributionen med statusen Conflict och följande fel:
System Drive returnerade statusen inte redo för användning.
Om du till exempel distribuerar en avbildning från Azure-portalen kan följande fel visas för distributionen i aktivitetsloggen:
{
"status": "Failed",
"error": {
"code": "Ext_StorageConfigurationSettings_ApplyNewTempDbSettingsError",
"message": "Error: 'System Drive returned status not ready for use '"
}
}
Varning
När det här felet inträffar lyckas distributionen av den virtuella Azure-datorn, men SQL Server-installationen misslyckas. Du måste ta bort den virtuella datorn för att undvika avgifter. Omdistribuera den virtuella datorn med någon av metoderna som beskrivs i avsnitten Lösning eller Tillfälliga lösningar.
SQL Server kan inte komma online när den virtuella datorn har startats om
Du kan se det här problemet när du har följt den här händelsesekvensen:
- Du distribuerar en virtuell Azure-dator från listan över berörda virtuella datorer .
- Du installerar en instans av SQL Server manuellt på den virtuella Azure-datorn.
- Du konfigurerar SQL Server-databasen
tempdbså att den använder den lokala SSD-lagringen (vanligtvisD:enheten). - Din virtuella maskin startas om eller avallokeras.
- SQL Server-instansen kan inte vara online.
Om det här problemet uppstår kan följande fel visas i SQL Server-felloggen:
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.
Orsak
Några av de senaste storlekarna för virtuella Azure-datorer har en lokal RAW SSD-volym för tillfällig lagring som konfigurerats med NVMe-gränssnittet (Non-Volatile Memory Express). Den här konfigurationen resulterar i fel eftersom SQL Server försöker placera tempdb databasen på den tillfälliga lagringen och misslyckas eftersom den lokala SSD-volymen inte är tillgänglig. Dessutom visas den tillfälliga lagringen som RAW efter att datorn har avallokerats.
Den lokala RAW-SSD-volymen gör att SQL VM-distributionen misslyckas och förhindrar att manuellt installerade SQL Server-instanser kommer online efter att den virtuella datorn har startats om. I båda fallen försöker SQL Server initiera tempdb databasen på den tillfälliga lagringen, som inte är tillgänglig. Distributionen misslyckas eftersom SQL Server installeras under distributionen av den virtuella Azure-datorn och den tillfälliga lagringen inte är tillgänglig. På samma sätt kan inte manuellt installerade instanser av SQL Server komma online efter att den virtuella datorn har startats om eftersom den tillfälliga lagringen inte är tillgänglig när SQL Server försöker skapa tempdb databasen.
Beslut
Det här problemet uppstår på grund av den valda storleken på den virtuella Azure-datorn. Lös problemet genom att använda någon av följande metoder:
- Distribuera din SQL Server virtuella dator via Azure-portalen på Windows Server 2022 eller senare.
- Skriptlösningar som ARM- eller BICEP-mallar löser för närvarande inte det här problemet.
- Windows Server 2019 och tidigare bilder fortsätter att uppleva det här problemet.
- Använd om möjligt en annan SKU för virtuella datorer, till exempel de SKU:er som anges i metodtipsen för VM-storlek.
- Om du vill använda en viss virtuell dator som finns i listan över berörda virtuella datorer använder du en dator utan gemener
di namnet, som placerastempdbpå samma lagringsplats som SQL Server-datafilerna. Använd till exempel vm-storlekenFXmsv2i stället förFXmdsv2. Den senare använder oinitierad tillfällig lagring, vilket anges i namnetd.
Övergångslösning
Om du inte kan använda en annan virtuell dators SKU utan en lokal RAW-SSD bör du överväga följande lösningar:
Distribuera den virtuella datorn med hjälp av en Windows Server avbildning, använd ett skript för att formatera och initiera den tillfälliga NVMe-enheten och installera sedan SQL Server manuellt.
-
Om du väljer att placera
tempdbpå den lokala SSD-enheten måste du återinitiera disken innan du startar SQL Server varje gång den virtuella datorn startas om eller avallokeras.
-
Om du väljer att placera
Implementera SQL Server VM-avbildningen, men konfigurera
tempdbatt använda en annan enhet än den tillfälliga lagringen under implementeringen. Du kan till exempel konfigureratempdbså att den använder enhetenC:eller en fjärrlagringsenhet.Du kan konfigurera den här inställningen på sidan SQL Server-inställningar i Azure-portalen när du distribuerar SQL Server VM-avbildningen.
Under Lagringskonfiguration väljer du Ändra konfiguration för att öppna fönstret Konfigurera lagring .
Expandera tempdb Storage och välj något annat alternativ än
Use local SSD drive:
Påverkade virtuella datorer
Det här problemet uppstår med virtuella datorer som distribuerar en onitialiserad tillfällig enhet, till exempel följande VM-storlekar:
Anmärkning
Innan du installerar SQL Server kontrollerar du att den virtuella datorn inte är konfigurerad med en sektorstorlek som är större än 4 kB.