﻿NAPRAWA: SUBIEKT / SQL SERVER NIE URUCHAMIA SIĘ PO WINDOWS 11
Paczka naprawcza Doktor Komputer / MAXPROJEKT.PL - wersja 1.0 (3 września 2026)
Pełny opis problemu: https://doktor-komputer.pl/blog/subiekt-nie-uruchamia-sie-windows-11

=====================================================================
UWAGA - PRZECZYTAJ W CAŁOŚCI PRZED URUCHOMIENIEM
=====================================================================
Skrypt zmienia rejestr systemu Windows. Jest udostępniany bezpłatnie, „tak jak jest",
bez gwarancji i do użycia WYŁĄCZNIE NA WŁASNĄ ODPOWIEDZIALNOŚĆ. Doktor Komputer /
MAXPROJEKT.PL nie ponosi odpowiedzialności za utratę danych, uszkodzenie systemu,
bazy danych lub programu ani za przestój firmy. Pełna treść: ZASTRZEZENIA-PRAWNE.txt.

NAJPIERW ZABEZPIECZ DANE - to warunek, nie sugestia:
  1. Zrób aktualną kopię zapasową bazy danych programu i zapisz ją na INNYM nośniku
     (pendrive, dysk zewnętrzny, chmura). Subiekt GT / nexo: Narzędzia > Archiwizacja.
     Comarch Optima: Narzędzia > Kopia bezpieczeństwa. Symfonia: Archiwizacja danych.
     Możesz też zrobić kopię w SQL Server Management Studio (Tasks > Back Up).
  2. Skopiuj ważne pliki firmowe (dokumenty, faktury PDF, wydruki, certyfikaty).
  3. Jeśli masz taką możliwość - zrób pełny obraz dysku systemowego (np. Macrium,
     Veeam Agent, Acronis) albo przynajmniej sprawdź, że Ochrona systemu jest włączona.
  4. Zapisz sobie, jak wyglądały ustawienia przed zmianą (skrypt robi to za Ciebie
     w dzienniku i kopii rejestru, ale dodatkowa notatka nie zaszkodzi).

=====================================================================
KIEDY TEN SKRYPT POMOŻE
=====================================================================
Objawy: po aktualizacji do Windows 11 albo po przeniesieniu na nowy komputer program
oparty o Microsoft SQL Server (Subiekt GT/nexo, Rachmistrz, Rewizor, Gratyfikant,
Gestor, Comarch ERP Optima, Symfonia, WAPRO, LocalDB) nie łączy się z bazą, a usługa
SQL Server nie startuje (błąd 1067, w logu SQL: Error 5178/5179 „sector size 8192/16384").

Przyczyna: nowoczesny dysk NVMe zgłasza sektor 8 KB lub 16 KB, a SQL Server obsługuje
tylko 512 B i 4096 B. Windows 10 emulował 4 KB, Windows 11 pokazuje wartość rzeczywistą.

Rozwiązanie (udokumentowane przez Microsoft): wartość rejestru
  HKLM\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device
  ForcedPhysicalSectorSizeInBytes  (REG_MULTI_SZ)  =  * 4095
UWAGA: 4095, nie 4096. Po zmianie konieczny jest restart komputera.

Skrypt najpierw SPRAWDZA, czy problem dotyczy tego komputera. Jeśli sektor jest
w normie (512 albo 4096), niczego nie zmienia - przyczyna leży gdzie indziej.

=====================================================================
JAK URUCHOMIĆ (krok po kroku)
=====================================================================
  1. Rozpakuj paczkę do zwykłego folderu, np. C:\Naprawa-SQL (nie uruchamiaj z archiwum).
  2. Wykonaj kopie zapasowe opisane wyżej.
  3. Zamknij program handlowy/księgowy i inne aplikacje.
  4. Najpierw uruchom SPRAWDZ-TYLKO-DIAGNOZA.cmd - zatwierdź okno UAC. Skrypt pokaże
     rozmiar sektora każdego dysku i stan usług SQL Server. Nic nie zmienia.
  5. Jeśli diagnoza pokazała „PROBLEM (wiecej niz 4096)", uruchom URUCHOM-NAPRAWE.cmd.
     Skrypt poprosi o wpisanie słowa TAK: przy akceptacji zastrzeżeń, przy potwierdzeniu
     kopii zapasowej i przed samą zmianą. Następnie:
       - wyeksportuje kopię klucza rejestru (plik .reg w folderze skryptu i na Pulpicie),
       - spróbuje utworzyć punkt przywracania systemu,
       - zapisze wartość „* 4095" i zweryfikuje zapis,
       - zapisze dziennik działań (naprawa-log-DATA.txt) w folderze skryptu.
  6. Uruchom ponownie komputer (skrypt zaproponuje restart).
  7. Po restarcie uruchom program. Jeśli nadal nie łączy się z bazą, sprawdź w rejestrze
     cyfrę 4095 i typ wartości (wielociąg), a potem inne przyczyny opisane w artykule.

Ręczne uruchomienie (dla administratorów), PowerShell jako administrator:
  powershell -NoProfile -ExecutionPolicy Bypass -File .\Napraw-SQLServer-sektor-NVMe.ps1
  parametry:  -TylkoDiagnoza   (bez zmian)      -Cofnij   (usuwa wpis)

=====================================================================
JAK COFNĄĆ ZMIANĘ
=====================================================================
  - Uruchom COFNIJ-NAPRAWE.cmd i potwierdź TAK, potem zrestartuj komputer, albo
  - kliknij dwukrotnie plik kopia-rejestru-stornvme-DATA.reg (przywraca stan klucza), albo
  - ręcznie usuń wartość ForcedPhysicalSectorSizeInBytes w Edytorze rejestru.
Po cofnięciu SQL Server wróci do stanu sprzed naprawy (czyli prawdopodobnie znów nie wystartuje).

=====================================================================
PLIKI W PACZCE
=====================================================================
  URUCHOM-NAPRAWE.cmd              - diagnoza + zabezpieczenia + naprawa (wymaga UAC)
  SPRAWDZ-TYLKO-DIAGNOZA.cmd       - sama diagnoza, bez zmian
  COFNIJ-NAPRAWE.cmd               - usunięcie wpisu z rejestru
  Napraw-SQLServer-sektor-NVMe.ps1 - właściwy skrypt PowerShell (otwarty kod, można przejrzeć)
  CZYTAJ-MNIE.txt                  - ten plik
  ZASTRZEZENIA-PRAWNE.txt          - warunki korzystania i wyłączenie odpowiedzialności

Skrypt nie łączy się z internetem i nie wysyła żadnych danych.

=====================================================================
WOLISZ, ŻEBY ZROBIŁ TO SERWIS?
=====================================================================
Doktor Komputer, ul. 3 Maja 25, 43-300 Bielsko-Biała
tel. +48 505 055 154, biuro@doktor-komputer.pl, https://doktor-komputer.pl
Bezpłatna wstępna diagnoza. Komputer możesz przynieść osobiście albo wysłać kurierem.
