Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo consente di risolvere gli scenari seguenti:
- Non riesce a essere distribuita un'immagine di Azure Marketplace di SQL Server in una macchina virtuale di Azure.
- Un'istanza di SQL Server non riesce a essere online dopo il riavvio o la deallocazione di una macchina virtuale di Azure.
Si applica a: SQL Server in macchine virtuali di Azure
Annotazioni
L'indagine di questo problema è in corso attivamente. Le informazioni contenute in questo articolo sono soggette a modifiche man mano che diventano disponibili nuovi dettagli.
Sintomi
Se si verifica questo problema, è probabile che venga visualizzato quanto segue:
- Le distribuzioni di SQL Server in macchine virtuali di Azure hanno esito negativo quando si usa un'immagine di Azure Marketplace.
- SQL Server non riesce a essere online dopo il riavvio di una macchina virtuale di Azure per le istanze installate manualmente di SQL Server.
La distribuzione di SQL Server in una macchina virtuale di Azure ha esito negativo
Quando si tenta di distribuire un'immagine di SQL Server in una macchina virtuale di Azure da Azure Marketplace, la distribuzione ha esito negativo con lo stato Conflict e l'errore seguente:
Lo stato dell'unità di sistema è stato restituito come non pronto per l'uso.
Ad esempio, se si distribuisce un'immagine dal portale di Azure, è possibile che venga visualizzato l'errore seguente per la distribuzione nel log attività:
Avvertimento
Quando si verifica questo errore, la distribuzione della macchina virtuale di Azure ha esito positivo, ma l'installazione di SQL Server non riesce. È necessario eliminare la macchina virtuale per evitare addebiti. Ridistribuire la macchina virtuale usando uno dei metodi descritti nelle sezioni Risoluzione o Soluzioni alternative .
SQL Server non riesce a essere online dopo il riavvio della macchina virtuale
È possibile che questo problema venga visualizzato dopo aver seguito questa sequenza di eventi:
- Si distribuisce una macchina virtuale di Azure dall'elenco di macchine virtuali interessate .
- Installare manualmente un'istanza di SQL Server nella macchina virtuale di Azure.
- È possibile configurare il database di SQL Server
tempdbin modo da usare l'archiviazione temporanea ssd locale (in genere l'unitàD:). - La macchina virtuale viene riavviata o deallocata.
- L'istanza di SQL Server non riesce a essere online.
Se si verifica questo problema, è possibile che venga visualizzato l'errore seguente nel log degli errori di 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.
Causa
Alcune delle dimensioni più recenti delle macchine virtuali di Azure presentano un volume SSD locale RAW per l'archiviazione temporanea configurata con l'interfaccia NVMe (Non-Volatile Memory Express). Questa configurazione genera errori perché SQL Server tenta di posizionare il tempdb database nell'archiviazione temporanea e non riesce perché il volume SSD locale non è disponibile. Inoltre, l'archiviazione temporanea viene visualizzata in formato RAW dopo che la macchina è stata deallocata.
Il volume SSD locale RAW causa l'esito negativo della distribuzione della macchina virtuale SQL e impedisce che le istanze di SQL Server installate manualmente vengano online dopo il riavvio della macchina virtuale. In entrambi i casi, SQL Server tenta di inizializzare il tempdb database nell'archivio temporaneo, che non è disponibile. La distribuzione non riesce perché SQL Server viene installato durante la distribuzione della macchina virtuale di Azure e l'archiviazione temporanea non è disponibile. Analogamente, le istanze installate manualmente di SQL Server non riescono a essere online dopo il riavvio della macchina virtuale perché l'archiviazione temporanea non è disponibile quando SQL Server tenta di creare il tempdb database.
Risoluzione
Questo problema si verifica a causa delle dimensioni selezionate della macchina virtuale di Azure. Per risolvere il problema, usare uno dei metodi seguenti:
- Se possibile, usare un altro SKU di macchina virtuale, ad esempio gli SKU elencati nelle procedure consigliate per le dimensioni della macchina virtuale.
- Se si vuole usare una macchina virtuale specifica nell'elenco delle macchine virtuali interessate , usare un computer senza il minuscolo
dnel nome, che si trovatempdbnella stessa risorsa di archiviazione dei file di dati di SQL Server. Ad esempio, usare le dimensioni dellaFXmsv2macchina virtuale anzichéFXmdsv2. Quest'ultimo utilizza un'archiviazione temporanea non inizializzata, come indicato dadnel nome.
Soluzione
Se non è possibile usare un altro SKU di macchina virtuale senza un'unità SSD locale RAW, prendere in considerazione le soluzioni alternative seguenti:
Distribuire la macchina virtuale usando un'immagine solo Windows Server, formattare e inizializzare l'unità NVMe temporanea e quindi installare manualmente SQL Server.
-
Se si sceglie di inserire
tempdbl'unità SSD locale, è necessario reinizializzare il disco prima di avviare SQL Server ogni volta che la macchina virtuale viene riavviata o deallocata.
-
Se si sceglie di inserire
Distribuire l'immagine della macchina virtuale di SQL Server, ma configurare
tempdbaffinché utilizzi un'unità diversa dall'archiviazione temporanea durante la distribuzione. Ad esempio, è possibile configuraretempdbper usare l'unitàC:oppure l'unità di archiviazione remota.È possibile configurare questa impostazione nella pagina delle impostazioni di SQL Server nel portale di Azure durante la distribuzione dell'immagine della macchina virtuale di SQL Server.
In Configurazione archiviazione selezionare Modifica configurazione per aprire il riquadro Configura archiviazione .
Espandere l'archiviazione tempdb e scegliere qualsiasi opzione diversa da
Use local SSD drive:
Macchine virtuali interessate
Questo problema si verifica con le macchine virtuali che distribuiscono un'unità temporanea non inizializzata, ad esempio le dimensioni della macchina virtuale seguenti:
| Intel Gen 10.2 | AMD Gen 9.1 |
|---|---|
| Dldsv6 | Daldsv6 |
| Ddsv6 | Dadsv6 |
| Edsv6 | Eadsv6 |
| Lsv3 - Tutte le macchine virtuali di Azure | |
| Fxmdsv2 |
Annotazioni
Assicurarsi che la macchina virtuale non sia configurata usando dimensioni del settore superiori a 4 KB prima di installare SQL Server.