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 |
| pořadové_číslo | Sleduje posloupnost záznamů v rámci jednoho záznamu auditu, který byl příliš velký, aby se vešel do vyrovnávací paměti pro zápis auditů. | 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 |
| ID hlavního objektu databáze | 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 | Hlavní entita serveru, na kterou se provádí operace GRANT/DENY/REVOKE. Vrátí hodnotu 0, pokud není relevantní. | Int | Ano |
| target_database_principal_id | Hlavní entita v databázi, na kterou se provádí operace GRANT/DENY/REVOKE. Vrátí hodnotu 0, pokud není použitelné. | 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 | Principál 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í operace. Vrátí hodnotu NULL, pokud není použitelné. | 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 |
| název_cílového_hlavního_subjektu_databáze | Cílový uživatel akce. Vrátí NULL, pokud to není použitelné. | 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. Nullovatelné 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 Nulovatelný Vrátí hodnotu NULL, pokud je entita samotný server nebo pokud se audit neprovádí na úrovni objektu. Například ověřování. |
sysname | Ne |
| výrok | Příkaz T-SQL, pokud existuje. Vrátí NULL, pokud to není použitelné. | 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>Aktuální úroveň vnoření rámce je označena jako nest_level. Název modulu je reprezentován ve třech částech formátu (database_name, schema_name a object_name). Název modulu bude zpracován tak, aby se odstranily neplatné znaky XML, jako jsou '\<', '>', '/', '_x'. Budou utekli jako _xHHHH\_. HHHH znamená čtyřmístný šestnáctkový kód UCS-2 pro znak.Nulovatelný 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 nárazníku v souboru, který obsahuje auditní záznam. |
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 |
| uživatelsky definované informace |
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 |
| verze_auditního_schématu | 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: službu Azure SQL Database a službu SQL Managed Instance Doba trvání provádění dotazů v milisekundách |
bigint | Ne |
| řádky_odpovědi |
Platí pro: Azure SQL Database a SQL Managed Instance Počet řádků vrácených v sadě výsledků |
bigint | Ne |
| ovlivněné řádky |
Platí pro: Pouze Azure SQL Database Počet řádků ovlivněných provedeným příkazem. |
bigint | Ne |
| connection_id |
Platí pro: Azure SQL Database a SQL Managed Instance ID připojení na serveru |
GUID | Ne |
| informace o citlivosti dat |
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_kontext | 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 |
| číslo_pořadí_začátku_knihy |
Platí pro: SQL Server 2022 a novější Počáteční pořadové číslo hlavní knihy pro operace hlavní knihy |
bigint | Ne |
| externí_politika_oprávnění_zkontrolováno | Oprávnění pro externí zásady, která byla kontrolována během operace | nvarchar(4000) | Ne |
Poznámky
Některé akce nenaplní hodnotu sloupce, protože tato hodnota nemusí být pro danou akci použitelná.
Sql Server Audit ukládá 4 000 znaků dat pro pole znaků v záznamu auditu. Když hodnoty additional_information a výroků vrácené z auditní akce vrátí více než 4 000 znaků, použije se sloupec sequence_number k zápisu více záznamů do sestavy auditu pro jednu auditní akci, aby zaznamenal tato data. Proces je následující:
Sloupec příkazu je rozdělený na 4 000 znaků.
Audit SQL Serveru zapíše 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)
- VYTVOŘENÍ SPECIFIKACE AUDITU SERVERU (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)