Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel helpt u bij het oplossen van een probleem dat optreedt wanneer u een SQL Server-exemplaar handmatig probeert te installeren op een virtuele Microsoft Azure-machine (VM) waarop Windows wordt uitgevoerd.
Van toepassing op: SQL Server, SQL Server op Azure VM - Windows
Symptomen
Wanneer u probeert een SQL Server-exemplaar te installeren op een virtuele Azure-machine (VM) waarop Windows wordt uitgevoerd, mislukt de installatie en ontvangt u het volgende foutbericht in het SQL Server-foutenlogboek wanneer de engine probeert te starten tijdens de installatie:
Kan het bestand ...\master.mdf niet gebruiken omdat het oorspronkelijk is opgemaakt met sectorgrootte 4096 en zich nu op een volume bevindt met sectorgrootte 8192. Verplaats het bestand naar een volume met een sectorgrootte die gelijk is aan of kleiner is dan de oorspronkelijke sectorgrootte.
Daarnaast ziet u de volgende informatie in het Summary.txt logboekbestand in de sql Server-installatiemap:
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.
Dit probleem kan optreden bij on-premises installaties, maar u zult het waarschijnlijker tegenkomen bij het installeren van SQL Server op een virtuele machine (VM) van Microsoft Azure.
Oorzaak
Dit probleem treedt op vanwege de sectorgrootteconfiguratie van de schijf op bepaalde virtuele Azure-machines. Sommige van de nieuwste Azure VM-generaties (zoals Da, Ea en Fav6) hebben een NVMe-opslaginterface en vereisen een installatiekopieën van het besturingssysteem die NVMe ondersteunen. Deze nieuwste Azure VM-generaties worden echter geïmplementeerd met een standaardsectorgrootte van 8 kB, die momenteel niet wordt ondersteund door SQL Server. SQL Server ondersteunt momenteel schijven met standaardeigen sectorgrootten van 512 bytes en 4 kB.
Opmerking
Non-Volatile Memory Express (NVMe) is een communicatieprotocol dat snellere en efficiëntere gegevensoverdracht tussen servers en opslagsystemen mogelijk maakt met behulp van NVM (Non-Volatile Memory). Met NVMe kunnen gegevens worden overgedragen op de hoogste doorvoer en met de snelste reactietijden.
Als een virtuele Azure-machine wordt geïmplementeerd met behulp van de sectorgrootte van 8 kB en u probeert SQL Server te installeren na de implementatie, kan de installatie mislukken.
Opmerking
Dit scenario treedt alleen op wanneer u SQL Server handmatig installeert op een Azure-VM, maar niet wanneer u een SQL Server-VM implementeert vanuit Azure Marketplace. De Azure Marketplace-installatiekopieën zijn vooraf geconfigureerd voor het gebruik van de sectorgrootte van 4 kB.
Oplossing
U kunt dit probleem oplossen door SQL Server opnieuw te installeren nadat u de Azure-VM hebt gedwongen de sectorgrootte van 4 kB te gebruiken.
Voer de volgende stappen uit om SQL Server op uw Azure-VM te installeren:
Als u SQL Server al hebt geïnstalleerd, verwijdert u SQL Server. Ga anders naar de volgende stap.
Voeg de registersleutel ForcedPhysicalSectorSizeInBytes toe.
Controleer of de sectorgrootte 4 kB is door de volgende opdracht uit te voeren in een opdrachtprompt met verhoogde bevoegdheid:
fsutil fsinfo sectorinfo <volume pathname>Start de Azure-VM opnieuw op.
Installeer SQL Server opnieuw.
In de volgende schermopname ziet u de uitvoer van de fsutil fsinfo sectorinfo opdracht voor het E: station, met een sectorgrootte van 8 kB:
In de volgende schermopname ziet u de uitvoer van de fsutil fsinfo sectorinfo opdracht voor het E: station na het bijwerken van de registersleutel om de sectorgrootte van 4 kB te gebruiken:
De ForcedPhysicalSectorSizeInBytes registersleutel is een instelling op besturingssysteemniveau, wat betekent dat alle stations die momenteel zijn gekoppeld en die in de toekomst zijn gekoppeld, de sectorgrootte van 4 kB gebruiken, tenzij deze registersleutel wordt verwijderd.