The DoktorSerwis
Serwis

Subiekt nie uruchamia się po Windows 11? Winny SQL Server

Po przejściu na Windows 11 albo po kupnie nowego komputera Subiekt, Optima czy Symfonia przestają się łączyć z bazą. Przyczyną nie jest uszkodzona baza ani licencja, tylko rozmiar sektora dysku NVMe. Pokazujemy, jak to sprawdzić i naprawić.

Biurko w firmie — monitor z komunikatem błędu bazy danych obok dokumentów i faktur

Scenariusz jest zawsze podobny. Firma wymienia komputer albo aktualizuje system do Windows 11, wszystko wygląda dobrze — do momentu uruchomienia programu handlowego. Subiekt nie łączy się z bazą, Optima wyświetla błąd serwera SQL, Symfonia nie startuje. Nie da się wystawić faktury ani wydać towaru.

Pierwsze podejrzenie pada zwykle na uszkodzoną bazę albo licencję. Zwykle niesłusznie. W większości takich zgłoszeń przyczyna jest zupełnie gdzie indziej: w rozmiarze sektora dysku NVMe, którego Windows 11 zaczął raportować inaczej niż Windows 10.

Jak rozpoznać, że to właśnie ten problem

Objaw widoczny dla użytkownika to komunikat o braku połączenia z bazą danych. Pod spodem dzieje się jednak co innego: usługa SQL Server w ogóle nie startuje, a program nie ma się z czym połączyć.

W zależności od wersji i sytuacji zobaczysz jeden z kilku komunikatów:

  • Błąd 1067 przy próbie ręcznego uruchomienia usługi SQL Server
  • W dzienniku zdarzeń: awaria aplikacji sqlservr.exe, moduł ntdll.dll, kod wyjątku 0xc0000005
  • W logu błędów SQL Servera: Error 5178 lub Error 5179 z informacją o sektorze — na przykład „because it is on a volume with sector size 8192. SQL Server supports a maximum sector size of 4096 bytes"
  • Przy instalacji: „Wait on the Database Engine recovery handle failed" albo „Could not find the Database Engine startup handle"
  • Ostrzeżenia o misaligned log IOs w logu serwera

Wspólny mianownik: plik logu SQL Servera powstaje, ale urywa się po pierwszych linijkach. Proces ginie, zanim silnik bazy zdąży wystartować.

Skąd się to bierze

Odpowiedź jest zaskakująco prozaiczna i nie ma nic wspólnego z programem księgowym.

SQL Server obsługuje wyłącznie dyski o rozmiarze sektora 512 bajtów albo 4096 bajtów. Tak było od zawsze i Microsoft potwierdza, że nie istnieje żadna wydana wersja SQL Servera radząca sobie z sektorem większym niż 4 KB.

Współczesne dyski NVMe pracują często na sektorach 8 KB lub 16 KB. Do niedawna nie stanowiło to problemu, bo sterowniki w Windows 10 emulowały wartość 4 KB i tak ją pokazywały systemowi. Sterowniki w Windows 11 zostały zmienione tak, żeby raportować rzeczywisty rozmiar zgłaszany przez dysk, bez emulacji.

Efekt: ten sam komputer, ten sam dysk, ta sama baza — a SQL Server nagle widzi sektor, którego nie potrafi obsłużyć, i przerywa start. Microsoft pokazuje to w swojej dokumentacji na wprost porównanych wynikach: tam gdzie Windows 10 raportował 4096, Windows 11 na tym samym sprzęcie pokazuje 16384.

Sprawdź to w pół minuty

Zanim cokolwiek zmienisz, potwierdź diagnozę. Otwórz Wiersz polecenia jako administrator i wpisz:

fsutil fsinfo sectorinfo C:

W wyniku odszukaj dwie pozycje:

  • PhysicalBytesPerSectorForAtomicity
  • PhysicalBytesPerSectorForPerformance

Jeśli któraś z nich pokazuje wartość większą niż 4096 — typowo 8192 albo 16384 — masz potwierdzenie. Jeśli obie pokazują 4096 lub 512, przyczyna leży gdzie indziej i opisane niżej obejście nic nie da.

Warto sprawdzić literę dysku, na którym faktycznie leżą pliki bazy, jeśli to nie jest dysk systemowy.

Rozwiązanie: wymuszenie rozmiaru sektora

Microsoft udostępnia oficjalne obejście — wpis w rejestrze, który każe sterownikowi NVMe zgłaszać sektor jako 4 KB, czyli zachować się tak, jak robił to Windows 10.

Zanim przejdziesz dalej, dwie rzeczy. Zrób kopię danych firmowych, jeśli jej nie masz. I wykonaj kopię rejestru — Microsoft wyraźnie to zaleca przy tej zmianie, bo błąd w edycji rejestru potrafi uniemożliwić uruchomienie systemu.

Wpis wygląda tak:

  • Ścieżka: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device
  • Nazwa wartości: ForcedPhysicalSectorSizeInBytes
  • Typ: wartość wielociągu (REG_MULTI_SZ)
  • Dane: gwiazdka, spacja, 4095

Po dodaniu wpisu konieczny jest restart komputera. Usługa SQL Server ma zwykle ustawiony start automatyczny, więc po ponownym uruchomieniu wstanie sama, a program handlowy połączy się z bazą.

Zmiana jest odwracalna — usunięcie wartości z rejestru i restart przywracają stan poprzedni.

Uwaga na wartość 4095

To miejsce, w którym łatwo o kosztowną pomyłkę. Prawidłowa wartość to 4095, nie 4096.

Wartość działa jak górna granica: mówi sterownikowi, żeby nie zgłaszał sektora większego niż podana liczba. Krąży po sieci — również w polskich poradnikach — wersja z 4096, ale dokumentacja Microsoftu konsekwentnie podaje 4095. Jeśli po zmianie i restarcie problem nie ustąpił, sprawdź w pierwszej kolejności właśnie tę cyfrę oraz to, czy wartość ma typ wielociągu, a nie zwykłego tekstu.

Dwa mity, które przedłużają awarię

„To dotyczy tylko nowych komputerów." Nieprawda. Microsoft opisuje kilka wariantów tej awarii i część z nich to dokładnie sytuacja, w której SQL Server pracował poprawnie na Windows 10, a przestał po aktualizacji do Windows 11 — na tym samym sprzęcie, z tą samą bazą. Wariant z nowym komputerem to osobny przypadek o tej samej przyczynie.

„Trzeba przeinstalować program albo odtworzyć bazę." To najkosztowniejsza z możliwych ścieżek i w tym scenariuszu nie pomaga. Reinstalacja programu handlowego nie zmieni tego, jak sterownik dysku raportuje rozmiar sektora. Odtworzenie kopii bazy również nie, bo baza nie jest uszkodzona — silnik po prostu nie wstaje, żeby ją otworzyć. Zdarza się, że firma traci dzień na przenoszenie danych, po czym trafia na ten sam błąd na nowej instalacji.

Kiedy to nie jest ta przyczyna

Uczciwie: identyczny objaw — „program nie łączy się z bazą" — potrafi mieć zupełnie inne źródło. Jeśli test fsutil pokazał sektor 4096 lub 512, sprawdź kolejno:

Czy usługa w ogóle istnieje i jaki ma tryb startu. Bywa ustawiona na ręczny albo wyłączona po migracji.

Czy działa protokół TCP/IP i usługa przeglądarki SQL. Przy pracy wielostanowiskowej to najczęstsza przyczyna — serwer wstaje, ale stacje go nie widzą.

Czy zapora nie blokuje połączenia. Standardowo potrzebny jest port TCP 1433 i UDP 1434 dla instancji nazwanych.

Czy nie zmieniła się nazwa komputera albo instancji. Po klonowaniu dysku na nowy sprzęt to klasyk.

Czy wersja SQL Servera jest wspierana na Windows 11. Starsze wydania potrafią się nie instalować na nowym systemie, co przy migracji daje osobny, niezależny problem.

Dlaczego będzie tego więcej

Ta awaria nie jest przypadkiem jednostkowym i wszystko wskazuje, że zgłoszeń będzie przybywać.

Windows 10 przestał być rozwijany, a przedłużone aktualizacje zabezpieczeń działają tylko do października 2027 — pisaliśmy o tym w tekście o wsparciu Windows 10. Firmy migrują na Windows 11 właśnie teraz, a każdy nowy komputer firmowy ma dysk NVMe. To połączenie, które wywołuje ten błąd.

Warto o tym wiedzieć zanim wymieni się sprzęt w firmie, bo najgorszy moment na odkrycie tego problemu to poniedziałek rano, kiedy trzeba fakturować.

Jak to wygląda u nas

Zaczynamy od wstępnej diagnozy, która jest bezpłatna — ustalamy, czy to opisany wyżej problem z sektorem, czy zupełnie co innego. Jeśli na jej podstawie da się określić przyczynę, przedstawiamy wycenę do akceptacji. W bardziej złożonych przypadkach potrzebna bywa dodatkowa, płatna diagnostyka; uprzedzamy o tym wcześniej.

Naprawa tego konkretnego przypadku to zwykle kwestia jednej wizyty. Bardziej złożone sytuacje — uszkodzona baza, przenoszenie instancji na nowy serwer, praca wielostanowiskowa — wymagają więcej czasu; dokładny termin podajemy po diagnozie.

Zajmujemy się też instalacją i konfiguracją oprogramowania, w tym programów księgowych i handlowych, oraz instalacją systemu przy wymianie sprzętu. Jeśli planujesz migrację firmowych komputerów na Windows 11, lepiej sprawdzić to wcześniej niż po fakcie.

Sprzęt możesz przynieść osobiście albo wysłać kurierem z dowolnego miejsca w Polsce.

Najczęstsze pytania

Czy moja baza danych jest uszkodzona?

W tym scenariuszu prawie nigdy. Jeśli program działał poprawnie do momentu aktualizacji systemu albo przeniesienia na nowy komputer, a usługa SQL Server nie chce wystartować, dane są nienaruszone. Problem leży po stronie systemu i sterownika dysku, nie w plikach bazy. Odtwarzanie kopii zapasowej niczego tu nie naprawi.

Jak sprawdzić, czy to ten problem?

Otwórz Wiersz polecenia jako administrator i wpisz: fsutil fsinfo sectorinfo C: — w wyniku odszukaj pozycje PhysicalBytesPerSectorForAtomicity oraz PhysicalBytesPerSectorForPerformance. Jeśli któraś pokazuje wartość większą niż 4096, na przykład 8192 lub 16384, to jest właśnie ta przyczyna. SQL Server obsługuje wyłącznie sektory 512 i 4096 bajtów.

Czy to dotyczy tylko nowych komputerów?

Nie i to częste nieporozumienie. Microsoft opisuje kilka wariantów tej awarii: część dotyczy świeżej instalacji na nowym sprzęcie, ale osobne scenariusze opisują dokładnie sytuację, w której SQL Server działał na Windows 10, a przestał po aktualizacji do Windows 11 na tym samym komputerze.

Które programy księgowe to dotyka?

Wszystkie oparte o Microsoft SQL Server — a to większość polskich programów handlowych i księgowych. Potwierdzone przypadki obejmują linie InsERT GT i nexo (Subiekt, Rachmistrz, Rewizor, Gratyfikant, Gestor), Comarch ERP Optima, Symfonię oraz mniejsze programy magazynowe. Microsoft zaznacza, że problem obejmuje wszystkie wydane wersje SQL Server, łącznie z LocalDB.

Czy zmiana w rejestrze jest bezpieczna i odwracalna?

Jest odwracalna — wpis można usunąć, wracając do stanu sprzed zmiany. To jednak modyfikacja rejestru systemowego, przed którą sam Microsoft zaleca wykonanie kopii. Wpisanie błędnej wartości albo pomyłka w typie danych może skończyć się tym, że system nie wstanie. Jeśli komputer obsługuje firmę i nie masz aktualnej kopii danych, to nie jest dobry moment na eksperymenty.

Ile trwa taka naprawa?

Sama zmiana i restart to kwestia kilkunastu minut, o ile diagnoza potwierdzi tę przyczynę. Problem w tym, że identyczny objaw — program nie łączy się z bazą — potrafi mieć zupełnie inne źródło, więc zaczynamy od ustalenia, co się faktycznie dzieje. Wstępna diagnoza jest u nas bezpłatna.

Podstawa techniczna: dokumentacja Microsoft Learn dotycząca rozmiaru sektora dysku większego niż 4 KB w SQL Server, stan na sierpień 2026. Nazwy programów należą do ich producentów i użyto ich wyłącznie w celu opisania problemu technicznego.