Nelze nainstalovat MS SQL Server - velikost sektoru
Jedním z problémů při instalaci MS SQL Serveru může být to, že instalace proběhne bez chyb, ale proces a služba jsou zastavené a nelze je spustit.
Vyskytuje se u nových notebooků (Lenovo, Dell, HP…), které používají technologie jako NVMe SSD, Intel VMD, Intel RST / Raid režim případně jiné power management režimy disků. Databázové systémy pracují s velikostí sektoru 4kB, tyto ovladače reportují blok 64kB, s čímž si MS SQL Server neporadí. Na serverech se tento problém nevyskytuje.
Více informací přímo na stránkách Microsoftu:
1) Ověření, zda instalace proběhne bez problémů
Spustit Příkazový řádek (nebo PowerShell) jako Správce a spustit příkaz:
fsutil fsinfo sectorinfo C:
Pokud se vypíše:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
MS SQL Server půjde nainstalovat.
Jestliže se zobrazí:
PhysicalBytesPerSectorForPerformance : 65536
MS SQL Server nepůjde nainstalovat.
Ukázky obrazovek – vlevo je „nesprávná“ velikost sektoru, vpravo je sektor se správnou velikostí
2) Řešení
Spustit Příkazový řádek (Windows PowerShell) jako Správce a spustit:
reg add HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device /v ForcedPhysicalSectorSizeInBytes /t REG_MULTI_SZ /d „* 4095“ /f
Restartovat počítač a pro kontrolu znovu spustit Příkazový řádek jako správce a spustit:
fsutil fsinfo sectorinfo C:
Musí se zobrazit:
PhysicalBytesPerSectorForPerformance : 4096
Pokud je hodnota správně MS SQL Server se nainstaluje bez dalších komplikací. Jestliže se zobrazí jiná hodnota, MS SQL Server nepůjde nainstalovat a je potřeba hledat jiné řešení.
3) Další možné řešení
Problémy s velikostí clusteru má instalace v režimu Mixed Mode. Pokud se nainstaluje server pouze v režimu Windows Authentication a následně v Management Studiu nastaví přihlašování jménem a heslem, vše by mělo být v pořádku. Toto řešení jsme doposud v praxi neověřili.
Poškozené nebo chybějící OLE DB
Odkaz na stažení instalačního souboru:
Zástupce programu na ploše je blokovaný, nespustí program
V případě, že aplikace lze spustit za složky a nelze spustit pomocí zástupce na ploše, spusťte PowerShell jako správce a postupně proveďte následující kroky. Příkazy jsou připravené pro případ, kdy je SPZ umístěná v C:/SPZ. Pokud je cesta jiná, je potřeba příkazy upravit (a vždy vybrat správný příkaz podle verze SPZ – standardní nebo ONI).
Vložte a spusťte příkaz:
Get-Content „C:\SPZ\SPZ2026.exe“ -Stream Zone.Identifier
Get-Content „C:\SPZ\SPZ2026ONI.exe“ -Stream Zone.Identifier
Výsledek by měl být:
[ZoneTransfer]
ZoneId=3
(případně ZoneId=4)
Následně vložte a spusťte příkaz:
Remove-Item „C:\SPZ\SPZ2026.exe“ -Stream Zone.Identifier
Remove-Item „C:\SPZ\SPZ2026ONI.exe“ -Stream Zone.Identifier
Pro kontrolu spusťte znovu:
Get-Item „C:\SPZ\SPZ2026.exe“ -Stream *
Get-Item „C:\SPZ\SPZ2026ONI.exe“ -Stream *
Výsledek by měl být pouze:
::$DATA
Následně by měl jít program spustit přes zástupce na ploše.