EulandaXtools — Funktionsreferenz
Prüft die Volume-Sektorgrößen auf SQL-Server-Kompatibilität und kann optional NVMe-4K-Emulation per Registry aktivieren/deaktivieren (mit optionalem Neustart).
Test-SectorSizeForMssql [[-DriveLetter] <string[]>] -Enable4kEmulation -Disable4kEmulation
[-Restart] [-ForceRestart] [-More] [<CommonParameters>]SQL Server hat Probleme, wenn ein Volume physische Sektorgrößen (Atomicity/Performance) größer als 4096 Bytes meldet. Diese Funktion:
Hinweis:
-Enable4kEmulation
Type: switch
Mandatory: TrueAktiviert die NVMe-4K-Emulation, indem der MultiString-Registry-Wert HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device\ForcedPhysicalSectorSizeInBytes um den Eintrag "* 4095" ergänzt bzw. angelegt wird. Ein Neustart ist erforderlich, damit Windows die Sektorgrößen entsprechend meldet.
-Disable4kEmulation
Type: switch
Mandatory: TrueDeaktiviert die NVMe-4K-Emulation, indem der Eintrag "* 4095" aus "ForcedPhysicalSectorSizeInBytes" entfernt wird. Wenn danach keine Einträge mehr übrig sind, wird der Registry-Wert entfernt. Ein Neustart ist erforderlich, damit Windows wieder die nativen Werte meldet.
-Restart
Type: switchStartet den Rechner nach einer erfolgreichen Enable/Disable-Änderung automatisch neu. Es wird nur neu gestartet, wenn tatsächlich eine Änderung vorgenommen wurde.
-ForceRestart
Type: switchErzwingt den Neustart, wenn zusammen mit -Restart verwendet.
-DriveLetter
Type: string[]Optional: Einschränkung auf bestimmte Laufwerksbuchstaben (z.B. C, D). Standard: alle Volumes mit DriveLetter.
System.Management.Automation.PSCustomObjectGibt Objekte vom Typ "Nvme4kEmulation" (Status der Registry-Emulation) und "VolumeSectorInfo" (Sektorinfos pro Volume) zurück.
# Analyse aller Volumes (mit Laufwerksbuchstaben)
Test-SectorSizeForMssql# Nur Volumes anzeigen, die sektorgrößenseitig nicht SQL-kompatibel sind
Test-SectorSizeForMssql |
Where-Object { $_.ObjectType -eq 'VolumeSectorInfo' -and ($false -eq $_.IsSqlSectorCompatible) }# NVMe-4K-Emulation aktivieren, Analyse anzeigen, danach Neustart (falls Änderung erfolgte)
Test-SectorSizeForMssql -Enable4kEmulation -Restart# NVMe-4K-Emulation deaktivieren, Analyse anzeigen, danach Neustart erzwingen (falls Änderung erfolgte)
Test-SectorSizeForMssql -Disable4kEmulation -Restart -ForceRestart# Nur C: und D: prüfen
Test-SectorSizeForMssql -DriveLetter C, D