| Termin | Definicja |
|---|---|
| Przenoszenie ustawień serwera | Przenoszenie ustawień serwera obejmuje kopiowanie konfiguracji sp_configure na docelową instancję. Przenoszenie ustawień serwera — czym jest ten procesPrzenoszenie ustawień serwera to uporządkowane odtworzenie sposobu działania jednej instancji na innej instancji, zwykle po zmianie sprzętu, systemu operacyjnego, wersji oprogramowania albo środowiska pracy. Nie chodzi wyłącznie o skopiowanie plików konfiguracyjnych. Należy ustalić, które parametry wpływają na pamięć, współbieżność, wykonywanie zapytań, bezpieczeństwo, komunikację sieciową oraz działanie usług zależnych. W przypadku Microsoft SQL Server jednym z ważnych elementów jest konfiguracja dostępna przez Poprawne przenoszenie ustawień serwera powinno rozpocząć się od inwentaryzacji instancji źródłowej. Zbierane są między innymi wartości parametrów konfiguracyjnych, ustawienia domyślne i zaawansowane, stan opcji wymagających ponownego uruchomienia, konfiguracja baz danych, ścieżki plików, ustawienia usług, konta uruchomieniowe oraz reguły dostępu. Istotne jest również rozdzielenie ustawień, które można odtworzyć bezpośrednio, od tych, które są zależne od konkretnego systemu, nazwy hosta, dostępnych zasobów lub wersji silnika. Konfigurację warto traktować jako dokumentowany opis środowiska, a nie jako pojedynczy skrypt. Dzięki temu można prześledzić, dlaczego dany parametr został ustawiony, jaki problem rozwiązuje oraz jakie skutki może mieć jego zmiana. Takie podejście ogranicza ryzyko przeniesienia przypadkowych wartości, pozostałości po testach albo ustawień dobranych dla zupełnie innego obciążenia. Przenoszenie ustawień serwera a zgodność konfiguracjiNajważniejsze porównanie dotyczy ustawień zapisanych w instancji oraz ustawień dostępnych w nowym środowisku. Ta sama wartość może zachowywać się inaczej, jeśli zmieniła się wersja silnika, liczba procesorów, ilość pamięci, układ dysków lub sposób obsługi połączeń. Z tego powodu kopiowanie konfiguracji jeden do jednego nie zawsze jest właściwe. Najpierw należy sprawdzić, czy parametr nadal istnieje, czy ma taki sam zakres dopuszczalnych wartości i czy jego znaczenie nie zostało zmienione. Przydatne jest zestawienie kilku grup danych. Pierwsza obejmuje ustawienia ogólne instancji, w tym parametry odczytywane przez Warto odróżnić konfigurację logiczną od zależności sprzętowych. Ustawienie limitu pamięci może wymagać korekty po przeniesieniu na komputer o innej dostępnej pamięci. Ścieżka plików może nie istnieć w docelowym systemie. Nazwa konta usługi może być niedostępna albo może mieć inne uprawnienia. Reguła zapory sieciowej nie zostanie odtworzona przez samo wykonanie polecenia SQL. Podobnie certyfikat, klucz szyfrujący lub wpis w magazynie poświadczeń wymaga osobnej procedury i kontroli dostępu. Przy porównywaniu środowisk należy brać pod uwagę nie tylko stan bieżący, lecz także wynik testu po restarcie. Niektóre zmiany zaczynają obowiązywać dopiero po ponownym uruchomieniu usługi. Inne są widoczne od razu, ale mogą wpływać na nowe połączenia dopiero po ich ponownym zestawieniu. Takie różnice powinny zostać opisane w planie przenosin. Przenoszenie ustawień serwera — typowe problemy i błędyCzęstym problemem jest potraktowanie kopii konfiguracji jako kompletnego obrazu instancji. Odczyt wartości z Innym błędem jest nieuwzględnienie różnic wersji. Skrypt przygotowany dla starszej wersji może zawierać polecenia, które nie są już wspierane, mają inne nazwy albo wymagają odmiennych uprawnień. W odwrotnej sytuacji nowa instancja może mieć dodatkowe funkcje, których nie było w źródłowym środowisku. Brak analizy zgodności może prowadzić do pozornie udanego wdrożenia, po którym pojawiają się ostrzeżenia, zmiany planów zapytań lub problemy z uruchamianiem zadań. Ryzyko występuje także przy przenoszeniu kont i uprawnień. Samo utworzenie logowania o tej samej nazwie nie zawsze oznacza zachowanie tych samych identyfikatorów bezpieczeństwa. Może dojść do sytuacji, w której użytkownik istnieje, lecz nie ma dostępu do wymaganej bazy. Należy sprawdzić mapowania, role, uprawnienia nadane bezpośrednio oraz uprawnienia wynikające z członkostwa w rolach. Szczególnej uwagi wymagają konta używane przez zadania automatyczne i połączenia zewnętrzne. Problemy mogą ujawnić się również w harmonogramach i zadaniach. Zmiana nazwy instancji, ścieżki plików, konta uruchomieniowego albo dostępności dysku może spowodować niepowodzenie kopii zapasowej, konserwacji indeksów, importu danych lub wysyłki powiadomień. Dlatego po przeniesieniu trzeba sprawdzić historię wykonania zadań, komunikaty błędów oraz rzeczywisty rezultat operacji, a nie tylko fakt, że obiekty zostały utworzone. Niebezpieczne jest także bezrefleksyjne przenoszenie parametrów wydajnościowych. Wartość dobrana dla intensywnego obciążenia może pogorszyć działanie mniejszej instancji. Zbyt wysoki limit zasobów może ograniczyć system operacyjny i inne usługi, natomiast zbyt niski może powodować niepotrzebne oczekiwanie. Każda zmiana powinna wynikać z obserwacji, testu oraz znanego celu. Przenoszenie ustawień serwera — praktyczne przygotowaniePrzed rozpoczęciem należy ustalić zakres przenosin i warunki powrotu do poprzedniego rozwiązania. W dokumentacji powinny znaleźć się nazwy instancji, wersje komponentów, daty zebrania danych, wymagane zależności, osoba odpowiedzialna za akceptację oraz kolejność czynności. Przydatne jest zapisanie konfiguracji w formie tekstowej, aby można było ją porównać przed i po zmianach. Każdy parametr powinien mieć informację o wartości źródłowej, wartości planowanej, uzasadnieniu oraz sposobie sprawdzenia. Bezpieczny przebieg można podzielić na kilka etapów. Najpierw wykonywana jest obserwacja i eksport danych konfiguracyjnych. Następnie przeprowadzana jest analiza różnic oraz odrzucane są ustawienia zależne od konkretnego środowiska. Później przygotowuje się skrypt docelowy, testuje go na kopii lub środowisku kontrolnym i sprawdza komunikaty zwracane przez silnik. Dopiero po pozytywnym wyniku można zaplanować właściwe przeniesienie. Po wdrożeniu przeprowadza się kontrolę usług, baz, połączeń, zadań, kopii zapasowych i podstawowych operacji użytkowych. Warto zachować kolejność zależności. Najpierw powinny być dostępne wymagane katalogi, konta i usługi, później tworzona jest instancja oraz jej ustawienia, a następnie odtwarzane są bazy, logowania, role i zadania. Jeśli wykonanie któregoś kroku zależy od wcześniejszego elementu, powinno to być zapisane w procedurze. Pozwala to uniknąć ręcznego powtarzania czynności bez wiedzy, na którym etapie wystąpił problem. Po przeniesieniu należy porównać zachowanie środowiska w typowych scenariuszach. Sprawdzane są logowania, odczyt i zapis danych, wykonywanie zapytań, działanie zadań cyklicznych, generowanie kopii zapasowych, odtwarzanie próbne oraz dostęp do wymaganych ścieżek. W przypadku różnic trzeba rozstrzygnąć, czy wynikają one z błędnego przeniesienia, czy z uzasadnionej zmiany parametrów. Sama zgodność wartości nie jest wystarczającym dowodem poprawności. Kiedy zgłosić przenoszenie ustawień serwera do serwisuWsparcie serwisowe może być potrzebne wtedy, gdy przenoszenie ustawień serwera łączy się ze zmianą komputera, problemami ze stabilnością, brakiem dokumentacji albo trudnością w ustaleniu zależności między systemem a używanymi programami. Zgłoszenie warto przygotować przed planowaną migracją, zwłaszcza gdy środowisko ma działać bez dłuższej przerwy albo gdy nie ma możliwości wykonania bezpiecznego testu. Przy zgłoszeniu dobrze przekazać informacje o wersji systemu, wersji silnika, objawach, planowanym terminie, dostępnych kopiach zapasowych oraz oczekiwanym rezultacie. Nie powinno się przesyłać haseł w zwykłej wiadomości. Wystarczające jest opisanie zakresu dostępu i ustalenie bezpiecznego sposobu wykonania czynności. Przed zmianą warto również wskazać, które elementy są krytyczne i jakie działanie będzie uznane za poprawne. Warszawskie Pogotowie Komputerowe 24/7 może zostać uwzględnione przy organizacji prac związanych z komputerem, systemem i oprogramowaniem, gdy potrzebna jest ocena przyczyny problemu lub uporządkowanie przygotowań do przenosin. Szczególnie ważne jest wcześniejsze rozdzielenie ustawień instancji od zależności systemowych, sprawdzenie kopii oraz zaplanowanie kontroli po zakończeniu. Dzięki temu przenoszenie ustawień serwera staje się procesem możliwym do prześledzenia, odtworzenia i zweryfikowania, a nie jednorazowym kopiowaniem nieznanych wartości. |