Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Funkce Audit SQL Serveru umožňuje auditovat skupiny událostí a událostí na úrovni serveru a databáze. Další informace naleznete v tématu Sql Server Audit (databázový stroj). SQL Server.
Audity se skládají z nulových nebo více položek akcí auditu, které se zaznamenávají do cíle auditu. Cílem auditu může být binární soubor, protokol událostí aplikace systému Windows nebo protokol událostí zabezpečení systému Windows. Záznamy odeslané do cíle mohou obsahovat prvky popsané v následující tabulce:
| Název sloupce | Description | Typ | Vždy k dispozici |
|---|---|---|---|
| event_time | Datum a čas, kdy se aktivuje auditovatelná akce. | datetime2 | Ano |
| sequence_number | Sleduje posloupnost záznamů v rámci jednoho záznamu auditu, který byl příliš velký, aby se vešl do vyrovnávací paměti zápisu pro audity. | Int | Ano |
| action_id | ID akce Tip: Chcete-li použít action_id jako predikát , musí být převeden z řetězce znaků na číselnou hodnotu. Další informace najdete v tématu Filtrování auditu SQL Serveru na action_id / class_type predikát. |
varchar(4) | Ano |
| uspěl | Určuje, jestli akce, která aktivovala událost, byla úspěšná. U všech událostí kromě událostí přihlášení to jenom hlásí, jestli byla kontrola oprávnění úspěšná nebo neúspěšná, ne operace. - 1 = Úspěch - 0 = selhání |
bit | Ano |
| permission_bitmask | V některých akcích se jedná o oprávnění udělená, zamítnutá nebo odvolaná. | varbinary(16) | Ne |
| is_column_permission | Příznak označující, jestli se jedná o oprávnění na úrovni sloupce. Vrátí hodnotu 0, když permission_bitmask = 0. - 1 = Pravda - 0 = Nepravda |
bit | Ne |
| session_id | ID relace, na které došlo k události. | smallint | Ano |
| server_principal_id | ID přihlašovacího kontextu, ve které se akce provádí. | Int | Ano |
| database_principal_id | ID kontextu uživatele databáze, ve které se akce provádí. Vrátí hodnotu 0, pokud se to nepoužije. Například operace serveru. | Int | Ne |
| target_server_principal_id | Objekt zabezpečení serveru, na který se provádí operace GRANT/DENY/REVOKE. Vrátí hodnotu 0, pokud není k dispozici. | Int | Ano |
| target_database_principal_id | Objekt zabezpečení databáze, na které se provádí operace GRANT/DENY/REVOKE. Vrátí hodnotu 0, pokud není k dispozici. | Int | Ne |
| object_id | ID entity, na které došlo k auditu. To zahrnuje: serverové objekty databáze databázové objekty Objekty schématu Vrátí hodnotu 0, pokud je entita samotným serverem nebo pokud se audit neprovádí na úrovni objektu. Například ověřování. |
Int | Ne |
| class_type | Typ auditovatelné entity, u které probíhá audit. | varchar(2) | Ano |
| session_server_principal_name | Objekt zabezpečení serveru pro relaci. | sysname | Ano |
| server_principal_name | Aktuální přihlášení. | sysname | Ano |
| server_principal_sid | Aktuální identifikátor SID přihlášení. | varbinary(85) | Ano |
| database_principal_name | Aktuální uživatel. | sysname | Ne |
| target_server_principal_name | Cílové přihlášení akce. Vrátí hodnotu NULL, pokud není k dispozici. | sysname | Ne |
| target_server_principal_sid | IDENTIFIKÁTOR SID cílového přihlášení. Vrátí hodnotu NULL, pokud není k dispozici. | varbinary(85) | Ne |
| target_database_principal_name | Cílí na uživatele akce. Vrátí hodnotu NULL, pokud není k dispozici. | sysname | Ne |
| server_instance_name | Název instance serveru, ve které došlo k auditu. Používá se standardní formát serveru\instance. | sysname | Ano |
| database_name | Kontext databáze, ve kterém došlo k akci. Nullable. Vrátí hodnotu NULL pro audity, ke kterým dochází na úrovni serveru. | sysname | Ne |
| schema_name | Kontext schématu, ve kterém došlo k akci. | sysname | Ne |
| object_name | Název entity, na které došlo k auditu. To zahrnuje: serverové objekty databáze databázové objekty Objekty schématu Nullable. Vrátí hodnotu NULL, pokud je entita sama o sobě nebo pokud se audit neprovádí na úrovni objektu. Například ověřování. |
sysname | Ne |
| výrok | Příkaz TSQL, pokud existuje. Vrátí hodnotu NULL, pokud není k dispozici. | nvarchar(4000) | Ne |
| additional_information | Jedinečné informace, které platí pouze pro jednu událost, se vrátí jako XML. Tento druh informací obsahuje několik auditovatelných akcí. Jedna úroveň zásobníku TSQL se zobrazí ve formátu XML pro akce, které mají přiřazený zásobník TSQL. Formát XML bude: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Nest_level rámce označuje aktuální úroveň vnoření rámce. Název modulu je reprezentován ve třech částech formátu (database_name, schema_name a object_name). Název modulu bude analyzován tak, aby řídicí neplatné znaky XML jako '\<', '>', '/', '_x'. Budou utekli jako _xHHHH\_. HHHH znamená čtyřmístný šestnáctkový kód UCS-2 pro znak.Nullable. Vrátí hodnotu NULL, pokud událost neobsahuje žádné další informace. |
nvarchar(4000) | Ne |
| file_name | Cesta a název souboru protokolu auditu, ze kterého záznam pochází. | varchar(260) | Ano |
| audit_file_offset |
Platí pro: Pouze SQL Server Posun vyrovnávací paměti v souboru, který obsahuje záznam auditu. |
bigint | Ne |
| user_defined_event_id |
Platí pro: SQL Server 2012 (11.x) a novější, Azure SQL Database a SQL Managed Instance ID události definované uživatelem předané jako argument sp_audit_writeNULL pro systémové události (výchozí) a nenulové pro uživatelem definovanou událost. Další informace najdete v tématu sp_audit_write (Transact-SQL). |
smallint | Ne |
| user_defined_information |
Platí pro: SQL Server 2012 (11.x) a novější, Azure SQL Database a SQL Managed Instance Používá se k zaznamenání dalších informací, které chce uživatel zaznamenat v protokolu auditu pomocí sp_audit_write uložené procedury. |
nvarchar(4000) | Ne |
| audit_schema_version | Vždy 1 | Int | Ano |
| sequence_group_id |
Platí pro: Pouze SQL Server Jedinečný identifikátor |
varbinary(85) | Ne |
| transaction_id |
Platí pro: Pouze SQL Server (od verze 2016) Jedinečný identifikátor pro identifikaci více událostí auditu v jedné transakci |
bigint | Ne |
| client_ip |
Platí pro: Azure SQL Database + SQL Server (od roku 2017) Zdrojová IP adresa klientské aplikace |
nvarchar(128) | Ne |
| application_name |
Platí pro: Azure SQL Database + SQL Server (od roku 2017) Název klientské aplikace, která spustila příkaz, který způsobil událost auditu |
nvarchar(128) | Ne |
| duration_milliseconds |
Platí pro: Azure SQL Database a SQL Managed Instance Doba trvání provádění dotazů v milisekundách |
bigint | Ne |
| response_rows |
Platí pro: Azure SQL Database a SQL Managed Instance Počet řádků vrácených v sadě výsledků |
bigint | Ne |
| affected_rows |
Platí pro: Pouze Azure SQL Database Počet řádků ovlivněných příkazem, které byl proveden. |
bigint | Ne |
| connection_id |
Platí pro: Azure SQL Database a SQL Managed Instance ID připojení na serveru |
Identifikátor guid | Ne |
| data_sensitivity_information |
Platí pro: Pouze Azure SQL Database Typy informací a popisky citlivosti vrácené auditovaným dotazem na základě klasifikovaných sloupců v databázi. Další informace o zjišťování a klasifikaci dat Azure SQL Database |
nvarchar(4000) | Ne |
| host_name | Název hostitele připojení klienta | nvarchar(128) | Ne |
| session_context | Informace o kontextu relace pro připojení | nvarchar(4000) | Ne |
| client_tls_version |
Platí pro: SQL Server 2022 a novější Číslo verze protokolu TLS používané připojením klienta |
Int | Ne |
| client_tls_version_name |
Platí pro: SQL Server 2022 a novější Název verze protokolu TLS používaný připojením klienta |
nvarchar(128) | Ne |
| database_transaction_id | Identifikátor databázové transakce | bigint | Ne |
| ledger_start_sequence_number |
Platí pro: SQL Server 2022 a novější Pořadové číslo hlavní knihy pro operace hlavní knihy |
bigint | Ne |
| external_policy_permissions_checked | Oprávnění externích zásad, která byla zkontrolována během operace | nvarchar(4000) | Ne |
Poznámky
Některé akce nenaplní hodnotu sloupce, protože nemusí být pro akci použitelné.
Sql Server Audit ukládá 4 000 znaků dat pro pole znaků v záznamu auditu. Když additional_information a hodnoty příkazů vrácené z auditovatelné akce vrátí více než 4 000 znaků, použije se sequence_number sloupec k zápisu více záznamů do sestavy auditu pro jednu akci auditu, která tato data zaznamená. Proces je následující:
Sloupec příkazu je rozdělený na 4 000 znaků.
Audit SQL Serveru zapíše jako první řádek záznamu auditu s částečnými daty. Všechna ostatní pole se v každém řádku duplikují.
Hodnota sequence_number se zvýší.
Tento proces se opakuje, dokud se nezaznamenávají všechna data.
Data můžete propojit tak, že řádky přečtete postupně pomocí hodnoty sequence_number a event_Time, action_id a session_id sloupců k identifikaci akce.
Související obsah
- CREATE SERVER AUDIT (Transact-SQL)
-
ALTER SERVER AUDIT (Transact-SQL) -
DROP SERVER AUDIT (Transact-SQL) -
CREATE SERVER AUDIT SPECIFICATION (Transact-SQL) -
ALTER SERVER AUDIT SPECIFICATION (Transact-SQL) -
DROP SERVER AUDIT SPECIFICATION (Transact-SQL) - CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
-
ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL) -
DROP DATABASE AUDIT SPECIFICATION (Transact-SQL) - ZMĚNIT AUTORIZACI (Transact-SQL)
-
sys.fn_get_audit_file (Transact-SQL) - sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
-
sys.server_audit_specifications (Transact-SQL) - sys.server_audit_specification_details (Transact-SQL)
-
sys.database_audit_specifications (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)