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 illustra come risolvere un problema che si verifica quando si tenta di installare manualmente un'istanza di SQL Server in una macchina virtuale (VM) di Microsoft Azure che esegue Windows.
Si applica a: SQL Server, SQL Server in una macchina virtuale di Azure - Windows
Sintomi
Quando si tenta di installare un'istanza di SQL Server in una macchina virtuale di Azure (VM) che esegue Windows, l'installazione non riesce e viene visualizzato il seguente messaggio di errore nel log degli errori di SQL Server quando il motore tenta di avviarsi durante l'installazione:
Impossibile utilizzare il file '...\master.mdf' perché è stato originariamente formattato con dimensioni del settore 4096 ed è ora in un volume con dimensioni del settore 8192. Spostare il file in un volume con dimensioni di settore uguali o inferiori a quelle originali.
Inoltre, è possibile visualizzare le informazioni seguenti nel file di log Summary.txt nella cartella di installazione di SQL Server:
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.
Questo problema può verificarsi con le installazioni locali, ma è più probabile che si verifichi durante l'installazione di SQL Server in una macchina virtuale (VM) di Microsoft Azure.
Causa
Questo problema si verifica a causa della configurazione delle dimensioni del settore del disco in determinate macchine virtuali di Azure. Alcune delle generazioni di macchine virtuali di Azure più recenti, ad esempio Da, Ea e Fav6, hanno un'interfaccia di archiviazione solo NVMe e richiedono un'immagine del sistema operativo che supporta NVMe. Tuttavia, queste ultime generazioni di macchine virtuali di Azure vengono distribuite con dimensioni di settore predefinite pari a 8 KB, attualmente non supportate da SQL Server. SQL Server supporta attualmente dischi con dimensioni del settore nativo standard di 512 byte e 4 KB.
Nota
NvMe (Non-Volatile Memory Express) è un protocollo di comunicazione che semplifica il trasferimento di dati più veloce ed efficiente tra server e sistemi di archiviazione tramite memoria non volatile (NVM). Con NVMe, i dati possono essere trasferiti con la velocità effettiva più elevata e con i tempi di risposta più rapidi.
Se una macchina virtuale di Azure viene distribuita usando le dimensioni del settore da 8 KB e si tenta di installare SQL Server dopo la distribuzione, l'installazione potrebbe non riuscire.
Nota
Questo scenario si verifica solo quando si installa manualmente SQL Server in una macchina virtuale di Azure, ma non quando si distribuisce una macchina virtuale di SQL Server da Azure Marketplace. Le immagini di Azure Marketplace sono preconfigurate per usare le dimensioni del settore da 4 KB.
Risoluzione
Per risolvere questo problema, reinstallare SQL Server dopo aver forzato la macchina virtuale di Azure a usare le dimensioni del settore da 4 KB.
Per installare correttamente SQL Server nella macchina virtuale di Azure, seguire questa procedura:
Se SQL Server è già stato installato, disinstallare SQL Server. In caso contrario, vai al passaggio successivo.
Aggiungere la chiave del Registro di sistema ForcedPhysicalSectorSizeInBytes .
Verificare che le dimensioni del settore siano pari a 4 KB eseguendo il comando seguente in un prompt dei comandi con privilegi elevati:
fsutil fsinfo sectorinfo <volume pathname>
Riavviare la macchina virtuale di Azure.
Reinstallare SQL Server.
Lo screenshot seguente mostra l'output del fsutil fsinfo sectorinfo
comando per l'unità E:
, con dimensioni del settore di 8 KB:
Lo screenshot seguente mostra l'output del fsutil fsinfo sectorinfo
comando per l'unità dopo l'aggiornamento E:
della chiave del Registro di sistema per usare le dimensioni del settore da 4 KB:
La ForcedPhysicalSectorSizeInBytes
chiave del Registro di sistema è un'impostazione a livello di sistema operativo, ovvero tutte le unità attualmente collegate e quelle collegate in futuro, usare le dimensioni del settore da 4 KB a meno che questa chiave del Registro di sistema non venga rimossa.