| Termin | Definicja |
|---|---|
| Ustawienia zaawansowane tylko w rejestrze | Część ustawień zaawansowanych SQL Server dostępna jest wyłącznie przez bezpośrednią edycję rejestru systemowego. Zakres ustawień dostępnych wyłącznie w rejestrzeOkreślenie „ustawienia zaawansowane tylko w rejestrze” odnosi się do parametrów instancji SQL Server, których nie udostępnia standardowy interfejs SQL Server Management Studio ani zwykła konfiguracja wykonywana poleceniem W praktyce trzeba odróżnić konfigurację silnika od konfiguracji usługi Windows. Parametry takie jak maksymalna pamięć serwera, stopień równoległości czy opcje zapytań są przeznaczone do zmiany z poziomu SQL Server i powinny być obsługiwane przez udokumentowane mechanizmy administracyjne. Rejestr może natomiast zawierać wartości używane przez usługę podczas startu, ustawienia powiązane z konkretną instancją oraz informacje odczytywane przez narzędzia konfiguracyjne. Zmiana w rejestrze nie jest uniwersalnym zamiennikiem konfiguracji SQL Server. Jak SQL Server korzysta z konfiguracji systemu WindowsInstalacja SQL Server tworzy w rejestrze hierarchię kluczy zależną od wydania, instancji i zainstalowanych składników. Typowa lokalizacja znajduje się w gałęzi Istotne są także parametry uruchomieniowe usługi. SQL Server może otrzymywać podczas startu między innymi lokalizację pliku master database, katalog błędów lub dodatkowy przełącznik diagnostyczny. Wartości te są przechowywane w konfiguracji usługi i mogą być prezentowane przez SQL Server Configuration Manager. Bezpośrednia edycja rejestru albo innych niskopoziomowych elementów konfiguracji może spowodować, że usługa nie uruchomi się, otworzy niewłaściwe pliki baz systemowych albo zacznie działać z niezamierzonymi parametrami. Ryzyko ręcznej edycji kluczy i wartościRejestr nie zapewnia takiej walidacji typów, zakresów i zależności, jaką zapewniają narzędzia administracyjne SQL Server. Błędna nazwa wartości, niepoprawny typ danych, literówka w ścieżce albo zapis w kluczu należącym do innej instancji może pozostać niezauważony do czasu ponownego uruchomienia usługi. Wtedy problem może przyjąć postać błędu startu, braku dostępu do pliku, konfliktu portu, niezgodności parametrów albo niepełnego działania wybranego składnika. Przed zmianą należy ustalić nazwę instancji, wersję SQL Server, konto usługi oraz dokładny klucz odczytywany przez dany składnik. Należy również wykonać eksport odpowiedniej gałęzi rejestru i zapisać aktualne parametry uruchomieniowe. Kopia rejestru nie zastępuje kopii zapasowej baz danych. Po zmianie trzeba sprawdzić dziennik SQL Server, dziennik systemowy Windows, stan usługi oraz komunikaty generowane przy starcie. Jeżeli modyfikacja dotyczy parametru wpływającego na pliki baz systemowych, test uruchomienia powinien być wykonany w kontrolowanym oknie administracyjnym. Rozróżnienie konfiguracji SQL Server od diagnostyki systemuPodczas analizy problemu nie należy zakładać, że każda wartość znaleziona w rejestrze jest aktywną konfiguracją silnika. Część wpisów opisuje instalację, wersję, komponent lub stan narzędzia, a nie bieżące zachowanie zapytań. Najpierw warto odczytać konfigurację z poziomu SQL Server, sprawdzić parametry usługi i przeanalizować logi, a dopiero później porównywać te informacje z rejestrem. Szczególnej ostrożności wymagają wpisy pozostałe po odinstalowanych instancjach, kluczach migracyjnych oraz wcześniejszych zmianach wersji. Jeżeli SQL Server nie uruchamia się po zmianie ustawienia, diagnostyka powinna rozpocząć się od przywrócenia ostatniej znanej poprawnej konfiguracji, a następnie od odczytania komunikatu usługi i logu błędów. Nie należy usuwać przypadkowych kluczy ani zmieniać uprawnień całej gałęzi rejestru. W środowisku z laptopem lub komputerem PC problem może wynikać również z błędnej ścieżki, uszkodzenia systemu Windows albo nieprawidłowego konta usługi, dlatego ocena powinna obejmować zarówno wpisy rejestru, jak i rzeczywisty stan systemu oraz plików SQL Server. |