Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Funkcja inspekcji programu SQL Server umożliwia inspekcję grup zdarzeń i zdarzeń na poziomie serwera i bazy danych. Aby uzyskać więcej informacji, zobacz Inspekcja programu SQL Server (aparat bazy danych). SQL Server.
Inspekcje składają się z zeru lub więcej elementów działań audytu, które są rejestrowane do celu audytu. Element docelowy inspekcji może być plikiem binarnym, dziennikiem zdarzeń aplikacji systemu Windows lub dziennikiem zdarzeń zabezpieczeń systemu Windows. Rekordy wysyłane do obiektu docelowego mogą zawierać elementy opisane w poniższej tabeli:
| Nazwa kolumny | Description | Typ | Zawsze dostępne |
|---|---|---|---|
| event_time | Data i czas, kiedy uruchomiona jest akcja podlegająca inspekcji. | datetime2 | Tak |
| sequence_number | Śledzi sekwencję rekordów w ramach pojedynczego rekordu audytu, który był zbyt duży, aby zmieścić się w buforze zapisu podczas audytów. | Int | Tak |
| action_id | Identyfikator akcji Porada: Aby użyć action_id jako predykatu, należy przekonwertować go z ciągu znaku na wartość liczbową. Aby uzyskać więcej informacji, zobacz Filtrowanie inspekcji SQL Server według predykatu action_id/class_type. |
varchar(4) | Tak |
| Zakończyła się pomyślnie | Wskazuje, czy akcja, która wyzwoliła zdarzenie powiodło się. W przypadku wszystkich zdarzeń innych niż zdarzenia logowania ta funkcja zgłasza tylko, czy sprawdzanie uprawnień zakończyło się powodzeniem, czy niepowodzeniem, a nie operacją. - 1 = Powodzenie - 0 = Niepowodzenie |
bit | Tak |
| permission_bitmask | W niektórych akcjach są to uprawnienia, które zostały przyznane, odrzucone lub odwołane. | varbinary(16) | Nie. |
| is_column_permission | Flaga wskazująca, czy jest to uprawnienie na poziomie kolumny. Zwraca wartość 0, gdy permission_bitmask = 0. - 1 = Prawda - 0 = fałsz |
bit | Nie. |
| session_id | Identyfikator sesji, w której wystąpiło zdarzenie. | smallint | Tak |
| server_principal_id | Identyfikator kontekstu logowania, w ramach którego jest wykonywana akcja. | Int | Tak |
| database_principal_id | Identyfikator kontekstu użytkownika bazy danych, w ramach którego jest wykonywana akcja. Zwraca wartość 0, jeśli nie ma to zastosowania. Na przykład operacja serwera. | Int | Nie. |
| target_server_principal_id | Podmiot zabezpieczeń serwera, na podstawie którego jest wykonywana operacja GRANT/DENY/REVOKE. Zwraca wartość 0, jeśli nie ma zastosowania. | Int | Tak |
| target_database_principal_id | Podmiot bazy danych, na którym wykonywana jest operacja GRANT/DENY/REVOKE. Zwraca wartość 0, jeśli nie ma zastosowania. | Int | Nie. |
| object_id | Identyfikator jednostki, na której wystąpiła inspekcja. Obejmuje to następujące elementy: obiekty serwera Baz danych obiekty bazy danych obiekty schematu Zwraca wartość 0, jeśli jednostka jest samym serwerem lub jeśli inspekcja nie jest wykonywana na poziomie obiektu. Na przykład uwierzytelnianie. |
Int | Nie. |
| class_type | Typ jednostki podlegającej audytowi. | varchar(2) | Tak |
| session_server_principal_name | Podmiot główny serwera dla sesji. | sysname | Tak |
| server_principal_name | Bieżące logowanie. | sysname | Tak |
| server_principal_sid | Bieżący identyfikator SID logowania. | varbinary(85) | Tak |
| database_principal_name | Bieżący użytkownik. | sysname | Nie. |
| target_server_principal_name | Docelowy login akcji. Zwraca wartość NULL, jeśli nie ma zastosowania. | sysname | Nie. |
| target_server_principal_sid | Identyfikator SID docelowego logowania. Zwraca wartość NULL, jeśli nie ma zastosowania. | varbinary(85) | Nie. |
| target_database_principal_name | Docelowy użytkownik akcji. Zwraca wartość NULL, jeśli nie ma zastosowania. | sysname | Nie. |
| server_instance_name | Nazwa wystąpienia serwera, w którym wystąpiła inspekcja. Używany jest standardowy format serwera\wystąpienia. | sysname | Tak |
| database_name | Kontekst bazy danych, w którym wystąpiła akcja. Nullable. Zwraca wartość NULL dla inspekcji występujących na poziomie serwera. | sysname | Nie. |
| schema_name | Kontekst schematu, w którym wystąpiła akcja. | sysname | Nie. |
| object_name | Nazwa jednostki, na której wystąpiła inspekcja. Obejmuje to następujące elementy: obiekty serwera Baz danych obiekty bazy danych obiekty schematu Nullable. Zwraca wartość NULL, jeśli jednostka jest samym serwerem lub jeśli inspekcja nie jest wykonywana na poziomie obiektu. Na przykład uwierzytelnianie. |
sysname | Nie. |
| wypowiedź | Instrukcja T-SQL, jeśli istnieje. Zwraca wartość NULL, jeśli nie ma zastosowania. | nvarchar(4000) | Nie. |
| additional_information | Unikatowe informacje, które dotyczą tylko jednego zdarzenia, są zwracane jako XML. Kilka akcji podlegających inspekcji zawiera tego rodzaju informacje. Jeden poziom stosu TSQL będzie wyświetlany w formacie XML dla akcji, które mają skojarzony stos TSQL. Format XML będzie następujący: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Ramka nest_level wskazuje bieżący poziom zagnieżdżania ramki. Nazwa modułu jest reprezentowana w formacie trzyczęściowym (database_name, schema_name i object_name). Nazwa modułu zostanie przeanalizowana w celu uniknięcia nieprawidłowych znaków XML, takich jak '\<', '>', '/', . '_x' Zostaną one zakodowane jako _xHHHH\_. HHHH oznacza czterocyfrowy kod szesnastkowy UCS-2 dla znakuNullable. Zwraca wartość NULL, gdy nie ma dodatkowych informacji zgłoszonych przez zdarzenie. |
nvarchar(4000) | Nie. |
| file_name | Ścieżka i nazwa pliku dziennika inspekcji, z którego pochodzi rekord. | varchar(260) | Tak |
| audit_file_offset |
Dotyczy: tylko program SQL Server Przesunięcie buforu w pliku zawierającym rekord inspekcji. |
bigint | Nie. |
| user_defined_event_id |
Dotyczy: SQL Server 2012 (11.x) i nowsze, Azure SQL Database i SQL Managed Instance Identyfikator zdarzenia zdefiniowanego przez użytkownika został przekazany jako argument sp_audit_write NULL dla zdarzeń systemowych (ustawienie domyślne) oraz wartość inna niż zero dla zdarzeń definiowanych przez użytkownika. Aby uzyskać więcej informacji, zobacz sp_audit_write (Transact-SQL). |
smallint | Nie. |
| informacje_zdefiniowane_przez_użytkownika |
Dotyczy: SQL Server 2012 (11.x) i nowsze, Azure SQL Database i SQL Managed Instance Służy do rejestrowania wszelkich dodatkowych informacji, które użytkownik chce zarejestrować w logu dziennika inspekcji sp_audit_write przy użyciu procedury składowanej. |
nvarchar(4000) | Nie. |
| audit_schema_version | Zawsze 1 | Int | Tak |
| sequence_group_id |
Dotyczy: tylko program SQL Server Unikatowy identyfikator |
varbinary(85) | Nie. |
| transaction_id |
Dotyczy: tylko program SQL Server (począwszy od 2016 r.) Unikatowy identyfikator identyfikujący wiele zdarzeń audytu w jednej transakcji |
bigint | Nie. |
| client_ip |
Dotyczy: Azure SQL Database + SQL Server (począwszy od 2017 r.) Źródłowy adres IP aplikacji klienckiej |
nvarchar(128) | Nie. |
| application_name |
Dotyczy: Azure SQL Database + SQL Server (począwszy od 2017 r.) Nazwa aplikacji klienckiej, która wykonała instrukcję, która spowodowała zdarzenie inspekcji |
nvarchar(128) | Nie. |
| duration_milliseconds |
Dotyczy: Azure SQL Database i SQL Managed Instance Czas trwania wykonywania zapytania w milisekundach |
bigint | Nie. |
| response_rows |
Dotyczy: Azure SQL Database i SQL Managed Instance Liczba wierszy zwróconych w zestawie wyników. |
bigint | Nie. |
| affected_rows |
Dotyczy: tylko usługa Azure SQL Database Liczba wierszy, na które ma wpływ instrukcja wykonana. |
bigint | Nie. |
| connection_id |
Dotyczy: Azure SQL Database i SQL Managed Instance Identyfikator połączenia na serwerze |
GUID | Nie. |
| informacje o wrażliwości danych |
Dotyczy: tylko usługa Azure SQL Database Typy informacji i etykiety poufności zwracane przez zapytanie poddane audytowi na podstawie sklasyfikowanych kolumn w bazie danych. Dowiedz się więcej na temat odnajdywania i klasyfikacji danych usługi Azure SQL Database |
nvarchar(4000) | Nie. |
| host_name | Nazwa hosta połączenia klienta | nvarchar(128) | Nie. |
| kontekst_sesji | Informacje kontekstowe sesji dla połączenia | nvarchar(4000) | Nie. |
| client_tls_version |
Dotyczy: SQL Server 2022 i nowsze Numer wersji protokołu TLS używany przez połączenie klienta |
Int | Nie. |
| client_tls_version_name |
Dotyczy: SQL Server 2022 i nowsze Nazwa wersji protokołu TLS używana przez połączenie klienta |
nvarchar(128) | Nie. |
| database_transaction_id | Identyfikator transakcji bazy danych | bigint | Nie. |
| ledger_start_sequence_number |
Dotyczy: SQL Server 2022 i nowsze Numer początkowy sekwencji rejestru dla operacji księgowych |
bigint | Nie. |
| sprawdzone_zewnętrzne_uprawnienia_polityki | Uprawnienia zasad zewnętrznych, które zostały sprawdzone podczas operacji | nvarchar(4000) | Nie. |
Uwagi
Niektóre akcje nie wypełniają wartości kolumny, ponieważ może ona być nieodpowiednia dla danej akcji.
Program SQL Server Audit przechowuje 4000 znaków danych dla pól znaków w rekordzie inspekcji. Gdy wartości additional_information i oświadczenia zwrócone z akcji z możliwością inspekcji przekraczają 4000 znaków, kolumna sequence_number jest wykorzystywana do zapisywania wielu rekordów w raporcie audytowym dla pojedynczej akcji audytowej w celu zarejestrowania tych danych. Proces jest następujący:
Kolumna oświadczenia jest podzielona na 4 000 znaków.
Audit programu SQL Server zapisuje jako pierwszy wiersz rekordu audytu z częściowymi danymi. Wszystkie pozostałe pola są zduplikowane w każdym wierszu.
Wartość sequence_number jest zwiększana.
Ten proces jest powtarzany do momentu zarejestrowania wszystkich danych.
Dane można połączyć, odczytując wiersze sekwencyjnie przy użyciu wartości sequence_number oraz event_Time, action_id i session_id kolumn w celu zidentyfikowania akcji.
Treści powiązane
- UTWÓRZ INSPEKCJĘ SERWERA (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- inspekcja serwera DROP (Transact-SQL)
- UTWÓRZ SPECYFIKACJĘ AUDYTU SERWERA (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- UTWÓRZ SPECYFIKACJĘ AUDYTU BAZY DANYCH (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Specyfikacja audytu bazy danych) (Transact-SQL)
- USUŃ SPECYFIKACJĘ AUDYTU BAZY DANYCH (Transact-SQL)
- ZMIEŃ AUTORYZACJĘ (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL) - funkcja audytu plików serwera (Transact-SQL)
- sys.specyfikacje_audytu_serwera (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.specyfikacje_audytu_bazy_danych (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- sys.dm_audit_class_type_map (Transact-SQL)