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 bevat oplossingen voor het oplossen van fouten tijdens de installatie of het starten van een exemplaar van SQL Server in Windows. Dit artikel is geldig voor alle uitgebrachte versies van SQL Server.
In dit artikel worden fouten besproken met betrekking tot de schijfsector van het systeem groter dan 4 kB. Wanneer u een SQL Server-exemplaar probeert te installeren op een computer met een systeemschijfsector die groter is dan 4 kB, kunnen de volgende scenario's optreden:
Van toepassing op: alle versies van SQL Server
Scenario 1: Het bestand verplaatsen naar een volume met een compatibele sectorgrootte
Als u een sectorgrootte van meer dan 4 kB probeert te gebruiken, ziet u het volgende foutbericht:
Error: 5179, Severity: 16, State: 1.
Cannot use file 'data file path', because it is on a volume with sector size 8192. SQL Server supports a maximum sector size of 4096 bytes. Move the file to a volume with a compatible sector size.
Scenario 2: kan de opstartgreep van de database-engine niet vinden
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.
Zie sql Server-installatie mislukt met een sectorgroottefout op een virtuele Machine van Windows Server 2022 in Azure voor meer informatie.
Scenario 3: Wachten op de herstelfunctie van de database-engine is mislukt
Wanneer u een versie van SQL Server installeert, ziet u fouten die lijken op het volgende bericht voor het onderdeel Database Engine Services van SQL Server:
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: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Of u ziet de volgende fouten in het SQL Server-foutenlogboek:
2025-02-26 20:01:16.79 spid14s Starting up database 'master'.
2025-02-26 20:01:16.80 spid14s Error: 5178, Severity: 16, State: 1.
2025-02-26 20:01:16.80 spid14s Cannot use file 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\master.mdf' because it was originally formatted with sector size 4096 and is now on a volume with sector size 8192. Move the file to a volume with a sector size that is the same as or smaller than the original sector size.
Scenario 4: Er zijn 256 verkeerd uitgelijnde log-IO's die moesten terugvallen op synchrone IO.
U installeert een versie van SQL Server op een Windows 10-apparaat. Vervolgens werkt u het besturingssysteem (besturingssysteem) op het apparaat bij naar Windows 11. Wanneer u SQL Server probeert te starten op een Windows 11-apparaat, kan de service niet worden gestart. In het foutenlogboek van SQL Server ziet u de volgende vermeldingen:
2021-11-05 23:42:47.14 spid9s There have been 256 misaligned log IOs which required falling back to synchronous IO. The current IO is on file C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\master.mdf.
Scenario 5: SQL Server-toepassingsfout uit ntdll.dll
U installeert een versie van SQL Server op een Windows 10-apparaat. Vervolgens voert u een upgrade uit van het besturingssysteem op het apparaat naar Windows 11. Wanneer u SQL Server probeert te starten op een Windows 11-apparaat, kan de service niet worden gestart. In het foutenlogboek van SQL Server ziet u de volgende vermeldingen:
Faulting application name: sqlservr.exe, version: 2019.150.2000.5, time stamp: 0x5d8a9215
Faulting module name: ntdll.dll, version: 10.0.22000.120, time stamp: 0x50702a8c
Exception code: 0xc0000005
Fault offset: 0x00000000000357ae
Faulting process id: 0x1124
Faulting application start time: 0x01d7bf67449d262c
Faulting application path: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Scenario 6: Verplaats het bestand naar een volume met een sectorgrootte die gelijk is aan of kleiner is dan de oorspronkelijke sectorgrootte
U installeert LocalDB op een Windows 11-apparaat en de installatie mislukt. In het foutenlogboek van SQL Server ziet u de volgende vermeldingen:
2021-12-15 23:25:04.28 spid5s Cannot use file 'C:\Users\Administrator\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\TestInstance\master.mdf' because it was originally formatted with sector size 4096 and is now on a volume with sector size 16384. Move the file to a volume with a sector size that is the same as or smaller than the original sector size.
In het gebeurtenislogboek van de Windows 11-toepassing ziet u de volgende vermeldingen:
Message : Windows API call WaitForMultipleObjects returned error code: 575. Windows system error message is: {Application Error}
The application was unable to start correctly (0x%lx). Click OK to close the application.
Reported at line: 3621.
Source : SQLLocalDB 11.0
Opmerking
U kunt de fouten tegenkomen die worden vermeld in de vorige scenario's voor een SQL Server-exemplaar dat u handmatig hebt geïnstalleerd of op een LocalDB-exemplaar dat door toepassingen is geïnstalleerd.
Oorzaak van schijfsectorgroottefouten in SQL Server
Tijdens het opstarten van de service begint SQL Server het databaseherstelproces om de consistentie van de database te garanderen. Een deel van dit databaseherstelproces omvat consistentiecontroles op het onderliggende bestandssysteem voordat u probeert systeem- en gebruikersdatabasebestanden te openen.
Sommige nieuwe opslagapparaten en apparaatstuurprogramma's maken een schijfsector groter dan de ondersteunde sectorgrootte van 4 kB beschikbaar.
Wanneer dit probleem optreedt, kan SQL Server niet worden gestart vanwege het niet-ondersteunde bestandssysteem, omdat SQL Server momenteel opslaggrootten van 512 bytes en 4 KB ondersteunt.
U kunt bevestigen dat u dit specifieke probleem ondervindt door de opdracht uit te voeren:
fsutil fsinfo sectorinfo <volume pathname>
Als u bijvoorbeeld het volume E: wilt analyseren, voert u de volgende opdracht uit:
fsutil fsinfo sectorinfo E:
Zoek naar de waarden PhysicalBytesPerSectorForAtomicity en PhysicalBytesPerSectorForPerformance, geretourneerd in bytes, en als ze verschillen, behoudt u de grootste waarde om de grootte van de schijfsector vast te stellen. Een waarde van 4096 geeft een sectoropslaggrootte van 4 kB aan.
Houd bovendien rekening met het Windows-ondersteuningsbeleid voor ondersteuning voor bestandssysteem- en opslagsectorgrootte. Zie het Microsoft-ondersteuningsbeleid voor harde schijven met 4 kB-sectoren in Windows voor meer informatie.
Opmerking
Er is geen uitgebrachte versie van SQL Server die compatibel is met sectorgrootten van meer dan 4 kB. Zie voor meer informatie het artikel Ondersteuningsgrenzen voor sectorgrootte van harde schijf in SQL Server.
Oplossingsstappen voor fouten in schijfsectorgrootte in SQL Server
Op dit moment is de registersleutel vereist voor het
ForcedPhysicalSectorSizeInBytesinstalleren van SQL Server bij het gebruik van moderne opslagplatforms, zoals NVMe, die een sectorgrootte bieden die groter is dan 4 kB. Deze registersleutel van het Windows-besturingssysteem dwingt de sectorgrootte te emuleren als 4 kB.Als u de
ForcedPhysicalSectorSizeInBytesregistersleutel wilt toevoegen, gebruikt u de Register-editor of voert u opdrachten uit zoals beschreven in de sectie Opdrachtprompt of PowerShell. U hoeft traceringsvlag 1800 niet toe te voegen voor dit scenario.Belangrijk
Deze sectie bevat stappen die u laten weten hoe u het Windows-register kunt wijzigen. Als u het register op onjuiste wijze wijzigt, kunnen er echter grote problemen optreden. Zorg er daarom voor dat u de volgende stappen zorgvuldig volgt. Voor optimale veiligheid maakt u dagelijks een back-up van het register voordat u het wijzigt. Als er een probleem optreedt, kunt u het register altijd nog herstellen. Zie het artikel Back-up maken en herstellen van het register voor meer informatie over het maken van back-ups en het herstellen van het register.
- Voer de Register-editor uit als beheerder.
- Navigeer naar
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device. - Selecteer Bewerken>Nieuw>Meerdere-tekenreeksenwaarde en geef het een naam als
ForcedPhysicalSectorSizeInBytes. - Klik met de rechtermuisknop op de naam, selecteer Wijzigen en typ
* 4095in het veld Waardegegevens. - Selecteer OK en sluit Register-editor.
U moet het apparaat opnieuw opstarten nadat u de registersleutel hebt toegevoegd om deze wijziging van kracht te laten worden.
Als u de registersleutel niet toevoegt en u meerdere stations op dit systeem hebt, kunt u een andere locatie opgeven voor de databasebestanden nadat de installatie van SQL Server is voltooid. Zorg ervoor dat de schijf een ondersteunde sectorgrootte weerspiegelt bij het opvragen van de
fsutilopdrachten. SQL Server ondersteunt momenteel sectoropslaggrootten van 512 bytes en 4096 bytes.
Waarschuwing
Als u al een opslaggroep hebt gemaakt met schijven met een sectorgrootte van meer dan 4 kB voor het hosten van SQL Server-bestanden, moet u eerst de opslaggroep verwijderen, een van de in dit artikel genoemde probleemoplossingsmethoden toepassen en vervolgens de opslaggroep opnieuw opbouwen voordat u SQL Server probeert te installeren in de opslaggroep of pools.
Meer informatie
Systeemeigen NVMe-stuurprogramma's van Windows 11 zijn bijgewerkt met de werkelijke sectorgrootte die rechtstreeks door de NVMe-opslagapparaten wordt gerapporteerd. Dit is gedaan in plaats van te vertrouwen op de informatie die is geëmuleerd van de bestandssysteemstuurprogramma's.
De Windows 10-stuurprogramma's rapporteren niet de grootte van de bronsector van de fysieke opslag.
De verbeterde Windows 11-stuurprogramma's negeren de emulatie die algemene NVMe-opslagapparaten gebruiken. In een voorbeeld fsutil wordt een sectorgrootte van 8 kB of 16 kB weergegeven, in plaats van de vereiste sectorgrootte van 4 kB te emuleren die door Windows is vereist.
De volgende tabel bevat een vergelijking van de sectorgrootten die door de besturingssystemen zijn gerapporteerd. In dit voorbeeld ziet u de verschillen tussen Windows 10 en Windows 11 met hetzelfde opslagapparaat. Voor de waarden van PhysicalBytesPerSectorForAtomicity en PhysicalBytesPerSectorForPerformancewordt in Windows 10 4 KB weergegeven en Windows 11 wordt 16 KB weergegeven.
Voorbeelduitvoer van fsutil fsinfo sectorinfo <volume pathname>
| Windows 10 | Windows 11 |
|---|---|
LogicalBytesPerSector : 512 |
LogicalBytesPerSector : 512 |
PhysicalBytesPerSectorForAtomicity : 4096 |
PhysicalBytesPerSectorForAtomicity : 16384 |
PhysicalBytesPerSectorForPerformance : 4096 |
PhysicalBytesPerSectorForPerformance : 16384 |
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096 |
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096 |
Device Alignment : Aligned (0x000) |
Device Alignment : Aligned (0x000) |
Partition alignment on device : Aligned (0x000) |
Partition alignment on device : Aligned (0x000) |
No Seek Penalty |
No Seek Penalty |
Trim Supported |
Trim Supported |
Not DAX capable |
Not DAX capable |
Not Thinly-Provisioned |
Not Thinly-Provisioned |