| Termin | Definicja |
|---|---|
| SQL Server Policy Evaluation | Policy Evaluation sprawdza zgodność konfiguracji instancji z regułami zdefiniowanymi w Policy-Based Management. Rola Policy Evaluation w SQL Server Policy-Based ManagementSQL Server Policy Evaluation jest procesem sprawdzania, czy określony obiekt SQL Server spełnia warunek zapisany w zasadzie Policy-Based Management. Ocena nie polega na ogólnym przetestowaniu sprawności silnika bazy danych, lecz na porównaniu właściwości celu z wyrażeniem logicznym zdefiniowanym w obiekcie typu policy. Celem może być między innymi instancja SQL Server, baza danych, tabela, indeks, procedura składowana lub inny element modelu zarządzania SQL Server. Zakres dostępnych celów zależy od użytej fasety, czyli zestawu właściwości opisujących konkretny typ obiektu. Policy Evaluation korzysta z trzech podstawowych elementów: warunku, fasety oraz polityki. Warunek definiuje oczekiwany stan właściwości, na przykład wymaganą wartość opcji konfiguracyjnej. Faseta udostępnia właściwości, które można odczytać dla danego typu celu. Polityka łączy warunek z grupą celów i określa, gdzie oraz kiedy ma nastąpić ocena. Wynik może wskazać zgodność celu z polityką albo naruszenie warunku. Sama ocena nie zmienia automatycznie konfiguracji, chyba że dla danej polityki wybrano tryb pozwalający na zapobieganie operacji. Warunki, fasety i zakres ocenianych celówW SQL Server Policy-Based Management warunek jest wyrażeniem tworzonym na podstawie właściwości fasety. Może zawierać porównania wartości, operatory logiczne oraz reguły odnoszące się do cech obiektu. Przykładowo warunek może sprawdzać, czy określona opcja instancji ma wartość zgodną z przyjętą konfiguracją. Ważne jest, aby faseta rzeczywiście udostępniała właściwość odpowiadającą badanemu ustawieniu. Nie każda właściwość administracyjna SQL Server jest dostępna w każdej fasetcie, dlatego wybór przypadkowej fasety może prowadzić do niepełnej albo błędnej kontroli. Polityka może obejmować jeden cel, zestaw celów albo hierarchię obiektów określoną przez warunek wyboru. W praktyce oznacza to możliwość sprawdzenia pojedynczej instancji, wszystkich baz danych spełniających kryterium albo obiektów należących do wybranej kategorii. Kategorie polityk służą do porządkowania zasad i mogą pomagać w zarządzaniu ich widocznością oraz subskrypcją. Zakres celu powinien być jednoznaczny, ponieważ zbyt szeroka definicja może uruchomić ocenę dla wielu obiektów i wygenerować dużą liczbę wyników, a zbyt wąska może pominąć elementy wymagające kontroli. Tryby uruchamiania i interpretacja wynikuOcena polityki może zostać uruchomiona na żądanie, zgodnie z harmonogramem albo w reakcji na zmianę. Tryb On demand wykonuje sprawdzenie wtedy, gdy administrator jawnie rozpocznie ocenę. Tryb On schedule korzysta z harmonogramu SQL Server Agent, dlatego wymaga działającego mechanizmu zadań oraz poprawnie zdefiniowanego terminu uruchomienia. Tryb On change jest powiązany ze zmianą konfiguracji lub zdarzeniem obsługiwanym przez SQL Server. W zależności od ustawienia może rejestrować naruszenie albo próbować zapobiec operacji naruszającej politykę. Wynik zgodności oznacza, że wartości odczytane dla celu spełniły warunek w momencie oceny. Wynik niezgodności wskazuje, że przynajmniej część wyrażenia warunku została oceniona negatywnie. Niezgodność nie zawsze oznacza awarię serwera. Może wynikać z celowej konfiguracji, nieaktualnej polityki, błędnego zakresu celów, braku dostępu do właściwości albo różnicy między konfiguracją zapisaną a wartością faktycznie używaną przez działający silnik. Przy analizie należy sprawdzić nazwę polityki, oceniany cel, fasetę, właściwość powodującą naruszenie oraz czas wykonania oceny. Ocena wykonywana na żądanie pokazuje stan z chwili jej przeprowadzenia i nie jest stałym monitoringiem. Jeżeli konfiguracja zostanie zmieniona po zakończeniu oceny, wcześniejszy wynik nie opisuje już aktualnego stanu. Z kolei ocena cykliczna może ujawnić powtarzalny problem, ale jej wynik zależy od poprawnego działania harmonogramu i dostępu do ocenianych obiektów. Przy wdrażaniu trybu On change: prevent należy najpierw zweryfikować warunek w trybie rejestrującym naruszenia, ponieważ zbyt restrykcyjna polityka może blokować prawidłowe operacje administracyjne. Analiza niezgodności w środowisku SQL ServerDiagnostykę warto rozpocząć od ustalenia, czy naruszenie dotyczy instancji, bazy danych czy obiektu niższego poziomu. Następnie należy porównać definicję warunku z właściwością udostępnianą przez używaną fasetę oraz sprawdzić, czy polityka obejmuje właściwy zestaw celów. Trzeba również rozróżnić wartość konfiguracji przechowywaną w metadanych od wartości używanej przez działający silnik, ponieważ niektóre ustawienia SQL Server wymagają dodatkowego zastosowania konfiguracji, aby zaczęły obowiązywać. Jeżeli ocena nie może zostać wykonana, przyczyną może być niedostępność celu, niewystarczające uprawnienia, błąd odczytu właściwości albo nieprawidłowo skonstruowany warunek. W przypadku ocen harmonogramowanych należy sprawdzić historię zadania SQL Server Agent i czas ostatniego uruchomienia. Przy ocenie wielu baz danych warto zweryfikować, czy wszystkie cele należą do obsługiwanej wersji SQL Server oraz czy polityka nie zakłada właściwości niedostępnej dla części obiektów. Dopiero po ustaleniu konkretnej właściwości powodującej niezgodność można bezpiecznie zdecydować, czy zmienić konfigurację, poprawić politykę, zawęzić zakres celów lub pozostawić odstępstwo jako świadomą decyzję administracyjną. Wynik Policy Evaluation jest więc dowodem zgodności z określoną regułą, a nie pełnym raportem o kondycji SQL Server. Nie zastępuje kontroli dostępności baz, analizy wydajności, przeglądu błędów silnika ani weryfikacji kopii zapasowych. Jego wartość zależy od poprawnego zdefiniowania fasety, warunku, celu i trybu uruchamiania. Dobrze przygotowana polityka pozwala powtarzalnie wykrywać odchylenia konfiguracji, natomiast nieprecyzyjna polityka może jedynie przenosić błąd projektowy do kolejnych raportów zgodności. |