Format dziennika inspekcji usługi SQL Database

Dotyczy:Azure SQL DatabaseAzure SQL Managed Instance

Inspekcja usługi Azure SQL Database śledzi zdarzenia bazy danych i zapisuje je w dzienniku inspekcji na koncie usługi Azure Storage lub wysyła je do centrum zdarzeń lub usługi Log Analytics na potrzeby przetwarzania i analizy podrzędnej.

Konwencje nazewnictwa

Inspekcja obiektów blob

Dzienniki inspekcji przechowywane w usłudze Azure Blob Storage są przechowywane w kontenerze o nazwie sqldbauditlogs na koncie usługi Azure Storage. Hierarchia katalogów w kontenerze ma postać <ServerName>/<DatabaseName>/<AuditName>/<Date>/. Format nazwy pliku obiektu blob to <CreationTime>_<FileNumberInSession>.xel, gdzie CreationTime ma format UTC hh_mm_ss_ms i FileNumberInSession jest uruchomionym indeksem w przypadku, gdy dzienniki sesji obejmują wiele plików obiektów blob.

Na przykład w przypadku bazy danych Database1 w Server1 następującej ścieżce jest możliwa prawidłowa ścieżka:

Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel

Dzienniki inspekcji replik tylko do odczytu są przechowywane w tym samym kontenerze. Hierarchia katalogów w kontenerze ma postać <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. Nazwa pliku obiektu blob ma ten sam format. Dzienniki inspekcji replik tylko do odczytu są przechowywane w tym samym kontenerze.

Centrum zdarzeń usługi Event Hubs

Zdarzenia inspekcji są zapisywane w przestrzeni nazw i centrum zdarzeń, które zostało zdefiniowane podczas konfiguracji inspekcji i są przechwytywane w treści zdarzeń Apache Avro i przechowywane przy użyciu formatowania JSON i kodowania UTF-8. Aby odczytać dzienniki inspekcji, można użyć narzędzi Avro lub podobnych narzędzi, które przetwarzają ten format.

Analiza dzienników

Zdarzenia inspekcji są zapisywane w obszarze roboczym usługi Log Analytics zdefiniowanym podczas konfigurowania inspekcji, do AzureDiagnostics tabeli z kategorią i tabelą z kategorią SQLSecurityAuditEventsDevOpsOperationsAudit pomoc techniczna firmy Microsoft Operations. Aby uzyskać dodatkowe przydatne informacje na temat języka i poleceń wyszukiwania usługi Log Analytics, zobacz Informacje o wyszukiwaniu w usłudze Log Analytics.

Pola dziennika inspekcji

Nazwa (obiekt blob) Nazwa (Event Hubs/Log Analytics) opis Typ obiektów blob Typ usługi Event Hubs/Log Analytics
action_id action_id_s Identyfikator akcji varchar(4) string
action_name action_name_s Nazwa akcji Nie dotyczy string
additional_information additional_information_s Wszelkie dodatkowe informacje o zdarzeniu przechowywane jako XML nvarchar(4000) string
affected_rows affected_rows_d Liczba wierszy, których dotyczy zapytanie bigint int
application_name application_name_s Nazwa aplikacji klienckiej nvarchar(128) string
audit_schema_version audit_schema_version_d Zawsze 1 int int
class_type class_type_s Typ jednostki inspekcji wykonywanej przez inspekcję varchar(2) string
class_type_desc class_type_description_s Opis jednostki z możliwością inspekcji wykonywanej przez inspekcję Nie dotyczy string
client_ip client_ip_s Źródłowy adres IP aplikacji klienckiej nvarchar(128) string
connection_id Nie dotyczy Identyfikator połączenia na serwerze GUID Nie dotyczy
data_sensitivity_information data_sensitivity_information_s Typy informacji i etykiety poufności zwracane przez zapytanie poddane inspekcji na podstawie kolumn sklasyfikowanych w bazie danych. Dowiedz się więcej na temat odnajdywania i klasyfikacji danych usługi Azure SQL Database nvarchar(4000) string
database_name database_name_s Kontekst bazy danych, w którym wystąpiła akcja sysname string
database_principal_id database_principal_id_d Identyfikator kontekstu użytkownika bazy danych, w ramach którego wykonywana jest akcja int int
database_principal_name database_principal_name_s Nazwa kontekstu użytkownika bazy danych, w którym wykonywana jest akcja sysname string
duration_milliseconds duration_milliseconds_d Czas trwania wykonywania zapytania w milisekundach bigint int
event_time event_time_t Data i godzina uruchomienia akcji z możliwością inspekcji datetime2 datetime
host_name Nie dotyczy Nazwa hosta klienta string Nie dotyczy
is_column_permission is_column_permission_s Flaga wskazująca, czy jest to uprawnienie na poziomie kolumny. 1 = prawda, 0 = fałsz bit string
Nie dotyczy is_server_level_audit_s Flaga wskazująca, czy ta inspekcja jest na poziomie serwera Nie dotyczy string
object_ id object_id_d Identyfikator jednostki, na której wystąpiła inspekcja. Obejmuje to obiekty serwera, bazy danych, obiekty bazy danych i obiekty schematu. 0, jeśli jednostka jest samym serwerem lub jeśli inspekcja nie jest wykonywana na poziomie obiektu int int
object_name object_name_s Nazwa jednostki, na której wystąpiła inspekcja. Obejmuje to obiekty serwera, bazy danych, obiekty bazy danych i obiekty schematu. 0, jeśli jednostka jest samym serwerem lub jeśli inspekcja nie jest wykonywana na poziomie obiektu sysname string
obo_middle_tier_app_id obo_middle_tier_app_id_s ID aplikacji średniej klasy, która łączyła się z Azure SQL Database za pomocą dostępu OBO. varchar(120) string
permission_bitmask permission_bitmask_s Jeśli ma to zastosowanie, pokazuje uprawnienia, które zostały przyznane, odrzucone lub odwołane varbinary(16) string
response_rows response_rows_d Liczba wierszy zwróconych w zestawie wyników bigint int
schema_name schema_name_s Kontekst schematu, w którym wystąpiła akcja. NULL dla audytów zachodzących poza schematem sysname string
Nie dotyczy securable_class_type_s Obiekt zabezpieczony, który odwzorowuje się na audytowany class_type obiekt Nie dotyczy string
sequence_group_id sequence_group_id_g Unikatowy identyfikator varbinary GUID
sequence_number sequence_number_d Śledzi sekwencję rekordów w ramach pojedynczego rekordu inspekcji, który był zbyt duży, aby zmieścić się w buforze zapisu na potrzeby inspekcji. Audyt Azure SQL Database przechowuje 4000 znaków danych dla pól znaków w rekordzie audytu. Jeśli istnieje więcej niż 4000 znaków, wszystkie dane przekraczające pierwsze 4000 znaków zostaną obcięte int int
server_instance_name server_instance_name_s Nazwa wystąpienia serwera, w którym wystąpiła inspekcja sysname string
server_principal_id server_principal_id_d Identyfikator kontekstu logowania, w którym wykonywana jest akcja int int
server_principal_name server_principal_name_s Bieżące logowanie sysname string
server_principal_sid server_principal_sid_s Bieżący identyfikator SID logowania varbinary string
session_id session_id_d Identyfikator sesji, w której wystąpiło zdarzenie smallint int
session_server_principal_name session_server_principal_name_s Jednostka serwera dla sesji sysname string
statement statement_s Instrukcja T-SQL, która została wykonana (jeśli istnieje) nvarchar(4000) string
succeeded succeeded_s Wskazuje, czy akcja, która wyzwoliła zdarzenie powiodło się. W przypadku zdarzeń innych niż identyfikator logowania i partia tylko zgłasza, czy sprawdzanie uprawnień zakończyło się powodzeniem, czy niepowodzeniem, a nie operacją. 1 = powodzenie, 0 = niepowodzenie bit string
target_database_principal_id target_database_principal_id_d Na zasadzie bazy danych, na której wykonywana jest operacjaGRANT//DENYREVOKE. 0, jeśli nie jest to możliwe int int
target_database_principal_name target_database_principal_name_s Docelowy użytkownik akcji. NULL jeśli nie ma zastosowania string string
target_server_principal_id target_server_principal_id_d Podmiot zabezpieczeń serwera, na podstawie którego jest wykonywana GRANT/DENY/REVOKE operacja. Zwraca wartość 0, jeśli nie ma zastosowania int int
target_server_principal_name target_server_principal_name_s Docelowy identyfikator logowania akcji. NULL jeśli nie ma zastosowania sysname string
target_server_principal_sid target_server_principal_sid_s Identyfikator SID identyfikatora logowania docelowego. NULL jeśli nie ma zastosowania varbinary string
transaction_id transaction_id_d Tylko program SQL Server (począwszy od wersji 2016) — 0 dla usługi Azure SQL Database bigint int
user_defined_event_id user_defined_event_id_d Identyfikator zdarzenia zdefiniowanego przez użytkownika został przekazany jako argument do sp_audit_writeelementu . NULL dla zdarzeń systemowych (ustawienie domyślne) i niezerowe dla zdarzenia zdefiniowanego przez użytkownika. Aby uzyskać więcej informacji, zobacz sp_audit_write (Transact-SQL) smallint int
user_defined_information user_defined_information_s Informacja zdefiniowana przez użytkownika przekazywana jako argument do sp_audit_write. NULL dla zdarzeń systemowych (ustawienie domyślne) i niezerowe dla zdarzenia zdefiniowanego przez użytkownika. Aby uzyskać więcej informacji, zobacz sp_audit_write (Transact-SQL) nvarchar(4000) string

Auditing in Azure Synapse Analytics

Aby uzyskać informacje o formacie dziennika audytu w Azure Synapse Analytics, zobacz Format dziennika audytu.

Następne kroki

Dowiedz się więcej o inspekcji usługi Azure SQL Database.