Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Extended Events jako audyt

Termin Definicja
Extended Events jako audyt

Extended Events jako audyt to alternatywne, powtórzone określenie wykorzystania tego mechanizmu do celów kontrolnych.

Extended Events w SQL Server jako mechanizm audytu

Extended Events to wbudowany w Microsoft SQL Server mechanizm zbierania zdarzeń diagnostycznych i operacyjnych. Sesja Extended Events może obserwować określone działania silnika, a następnie zapisywać informacje o ich wystąpieniu do celu danych, na przykład do pliku .xel albo do bufora pamięci. W kontekście audytu oznacza to możliwość rejestrowania wybranych operacji wykonywanych przez silnik, zamiast okresowego odpytywania tabel systemowych lub analizowania wyłącznie komunikatów aplikacji.

Określenie „Extended Events jako audyt” nie oznacza osobnego produktu ani odrębnego typu sesji. Jest to opis zastosowania istniejącego mechanizmu do kontroli aktywności SQL Server. Zakres obserwacji wynika z konfiguracji sesji: trzeba wskazać zdarzenia, interesujące akcje, predykaty ograniczające dane oraz cel zapisu. Sama obecność sesji nie dowodzi jeszcze, że audyt obejmuje konkretną operację. O tym decyduje dopasowanie zdarzeń i filtrów do rzeczywistego przepływu wykonywania zapytań.

Dobór zdarzeń, akcji i filtrów

Sesja audytowa powinna rejestrować tylko te zdarzenia, które odpowiadają badanemu pytaniu. W SQL Server można obserwować między innymi uruchamianie partii Transact-SQL, wywołania procedur, błędy, blokady, zakleszczenia oraz wybrane działania związane z bezpieczeństwem. Nazwy i dostępność zdarzeń zależą od wersji oraz edycji SQL Server, dlatego przed konfiguracją należy sprawdzić metadane instancji, na przykład przez widoki katalogowe sys.server_event_sessions, sys.server_event_session_events i sys.server_event_session_targets.

Akcje rozszerzają informacje dostarczane przez samo zdarzenie. Do sesji można dołączyć między innymi nazwę aplikacji, nazwę hosta, identyfikator sesji, nazwę bazy danych, identyfikator użytkownika lub tekst wykonywanego polecenia, o ile dana akcja jest dostępna dla wybranego zdarzenia. Predykat, czyli warunek filtrowania, pozwala zawęzić zapis do określonej bazy, aplikacji, identyfikatora sesji albo typu operacji. Bez filtrów sesja może generować dużą ilość danych, utrudniać analizę i zwiększać narzut pracy instancji.

Zapis i interpretacja materiału audytowego

Najczęściej stosowanym celem trwałego zapisu jest event_file. SQL Server zapisuje wtedy zdarzenia w plikach Extended Events z rozszerzeniem .xel, które można analizować między innymi za pomocą funkcji sys.fn_xe_file_target_read_file. Funkcja ta zwraca dane zdarzeń w postaci możliwej do dalszego przetwarzania w zapytaniu Transact-SQL. Przy analizie należy uwzględnić czas wystąpienia zdarzenia, identyfikator sesji, bazę danych, aplikację, host oraz tekst polecenia, jeśli te informacje zostały zebrane.

Audyt oparty na Extended Events wymaga kontroli kompletności materiału. Należy ustalić, gdzie znajdują się pliki, jaki jest limit ich rozmiaru, ile plików może pozostać w katalogu oraz jak długo dane mają być dostępne. Zbyt mały rozmiar pliku lub zbyt mała liczba plików może spowodować nadpisanie starszych zdarzeń. Z kolei brak ograniczeń może doprowadzić do zapełnienia woluminu. Warto także sprawdzić, czy sesja jest uruchomiona, ponieważ utworzenie definicji sesji i rozpoczęcie zbierania zdarzeń to odrębne czynności administracyjne.

Granice zastosowania Extended Events jako audytu

Extended Events dostarcza technicznego śladu zdarzeń obserwowanych przez SQL Server, ale nie zastępuje analizy znaczenia tych zdarzeń. Zarejestrowane wykonanie instrukcji nie wyjaśnia samo w sobie, czy operacja była zamierzona, czy wynikała z błędnej konfiguracji aplikacji. Interpretacja wymaga porównania czasu, użytkownika, aplikacji, hosta, identyfikatora sesji i treści polecenia z dokumentacją wdrożenia oraz innymi dostępnymi zapisami technicznymi.

Podczas diagnostyki laptopa lub komputera PC analiza sesji Extended Events może pomóc ustalić, czy problem wynika z lokalnego klienta SQL Server, sterownika, aplikacji albo komunikacji z bazą. Przydatne jest rozróżnienie błędu po stronie programu od błędu zgłaszanego przez silnik, a także sprawdzenie, czy powtarzające się operacje mają wspólne parametry i źródło wywołania. Sama konfiguracja audytu Extended Events pozostaje zadaniem związanym z administracją konkretnej instancji Microsoft SQL Server.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę