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
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
sql database v Microsoft Fabric
Vrátí informace ze souboru auditu vytvořeného auditem serveru v SQL Serveru. Další informace naleznete v tématu Sql Server Audit (databázový stroj).
Návod
Zvažte místo toho použití sys.fn_get_audit_file_v2 . Funkce sys.fn_get_audit_file_v2 zavádí časově založené filtrování jak na úrovni souboru, tak záznamu, což přináší významné zlepšení výkonu, zejména u dotazů zaměřených na konkrétní časové období.
Návod
Pro Fabric Data Warehouse je podporován, sys.fn_get_audit_file ale doporučuje se sys.fn_get_audit_file_v2 (Transact-SQL ). Funkce sys.fn_get_audit_file_v2 zavádí časově založené filtrování jak na úrovni souboru, tak záznamu, což přináší významné zlepšení výkonu, zejména u dotazů zaměřených na konkrétní časové období. Pro více informací a příklady viz Konfigurace auditu ve skladu dat ve fabrice.
Návod
Pro SQL databázi ve Fabricu je podporováno, sys.fn_get_audit_file ale doporučuje se sys.fn_get_audit_file_v2 (Transact-SQL ). Funkce sys.fn_get_audit_file_v2 zavádí časově založené filtrování jak na úrovni souboru, tak záznamu, což přináší významné zlepšení výkonu, zejména u dotazů zaměřených na konkrétní časové období. Pro více informací a příklady viz Konfigurace auditu v databázi Fabric SQL.
Syntaxe
fn_get_audit_file ( file_pattern ,
{ default | initial_file_name | NULL } ,
{ default | audit_record_offset | NULL } )
Argumenty
file_pattern
Určuje adresář nebo cestu a název souboru pro soubor auditu, který se má přečíst. Typ je nvarchar(260).
Předání cesty bez vzoru názvu souboru vygeneruje chybu.
Tento argument musí obsahovat cestu (písmeno jednotky nebo sdílenou síťovou složku) i název souboru, který může obsahovat zástupný znak. Jednu hvězdičku (*) lze použít ke shromažďování více souborů ze sady souborů auditu. Například:
\<path>\*– Shromážděte všechny soubory auditu v zadaném umístění.<path>\LoginsAudit_{GUID}*– Shromážděte všechny soubory auditu, které mají zadaný název a dvojici GUID.<path>\LoginsAudit_{GUID}_00_29384.sqlaudit– Shromážděte konkrétní soubor auditu.
initial_file_name
Určuje cestu a název konkrétního souboru v sadě souboru auditu, ze které se mají začít číst záznamy auditu. Typ je nvarchar(260).
Argument initial_file_name musí obsahovat platné položky nebo musí obsahovat default hodnotu nebo NULL hodnotu.
audit_record_offset
Určuje známé umístění se souborem zadaným pro initial_file_name. Při použití tohoto argumentu funkce začne číst na prvním záznamu vyrovnávací paměti bezprostředně za zadaným posunem.
Argument audit_record_offset musí obsahovat platné položky nebo musí obsahovat default hodnotu nebo NULL hodnotu. Typ je bigint.
Vrácené tabulky
Následující tabulka popisuje obsah souboru auditu, který může tato funkce vrátit.
| Název sloupce | Typ | Popis |
|---|---|---|
event_time |
datetime2 | Datum a čas UTC, kdy se aktivuje auditovatelná akce. Není nulovatelný. |
sequence_number |
Int | 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. Není nulovatelný. |
action_id |
varchar(4) | ID akce. Není nulovatelný. |
succeeded |
bit | Určuje, jestli akce, která aktivovala událost, byla úspěšná. Není nulovatelný. 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ěch0 = selhání |
permission_bitmask |
varbinární(16) | V některých akcích je tato bitová maska oprávnění, která byla udělena, odepřena nebo odvolána. |
is_column_permission |
bit | Příznak označující, jestli se jedná o oprávnění na úrovni sloupce. Není nulovatelný. Vrátí0, když .permission_bitmask = 01 = pravda0 = nepravda |
session_id |
smallint | ID relace, na které došlo k události. Není nulovatelný. |
server_principal_id |
Int | ID přihlašovacího kontextu, ve které se akce provádí. Není nulovatelný. |
database_principal_id |
Int | ID kontextu uživatele databáze, ve které se akce provádí. Není nulovatelný. Vrátí 0 , pokud se to netýká. Například operace serveru. |
target_server_principal_id |
Int | Objekt zabezpečení serveru, na GRANT/DENY/REVOKE který se operace provádí. Není nulovatelný. Vrátí 0 , pokud není k dispozici. |
target_database_principal_id |
Int | Instanční objekt databáze, na který GRANT/DENY/REVOKE se operace provádí. Není nulovatelný. Vrátí 0 , pokud není k dispozici. |
object_id |
Int | ID entity, na které došlo k auditu, což zahrnuje následující objekty: – Objekty serveru -Databáze – Databázové objekty – Objekty schématu Není nulovatelný. Vrátí 0 , pokud je entita samotným serverem nebo pokud se audit neprovádí na úrovni objektu. Například ověřování. |
class_type |
varchar(2) | Typ auditovatelné entity, u které probíhá audit. Není nulovatelný. |
session_server_principal_name |
sysname | Hlavní objekt serveru pro relaci. Nulovatelný. Vrátí identitu původního přihlášení, které bylo připojeno k instanci databázového stroje v případě, že existovaly explicitní nebo implicitní kontextové přepínače. |
server_principal_name |
sysname | Aktuální přihlášení. Nulovatelný. |
server_principal_sid |
varbinary | Aktuální identifikátor zabezpečení přihlášení (SID). Nulovatelný. |
database_principal_name |
sysname | Aktuální uživatel. Nulovatelný. Vrátí NULL , pokud není k dispozici. |
target_server_principal_name |
sysname | Cílové přihlášení k akci. Nulovatelný. Vrátí NULL , pokud není k dispozici. |
target_server_principal_sid |
varbinary | SID pro cílové přihlášení. Nulovatelný. Vrátí NULL , pokud není k dispozici. |
target_database_principal_name |
sysname | Cílový uživatel akce. Nulovatelný. Vrátí NULL , pokud není k dispozici. |
server_instance_name |
sysname | Název instance serveru, ve které došlo k auditu. Používá se standardní server\instance formát. |
database_name |
sysname | Kontext databáze, ve kterém došlo k akci. Nulovatelný. Vrátí NULL pro audity, ke kterým dochází na úrovni serveru. |
schema_name |
sysname | Kontext schématu, ve kterém došlo k akci. Nulovatelný. Vrátí NULL pro audity, ke kterým dochází mimo schéma. |
object_name |
sysname | Název entity, ke které došlo k auditu, která zahrnuje následující objekty: – Objekty serveru -Databáze – Databázové objekty – Objekty schématu Nulovatelný. Vrátí NULL , pokud je entita samotným serverem nebo pokud se audit neprovádí na úrovni objektu. Například ověřování. |
statement |
nvarchar(4000) | Transact-SQL příkaz, pokud existuje. Nulovatelný. Vrátí NULL , pokud není k dispozici. |
additional_information |
nvarchar(4000) | 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 T-SQL se zobrazí ve formátu XML pro akce, které mají přiřazený zásobník T-SQL. Formát XML je: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>frame nest_level označuje aktuální úroveň vnoření rámce. Název modulu je reprezentován ve třech částech formátu (database_name, schema_namea object_name). Název modulu se parsuje tak, aby uchytá neplatnými znaky XML, jako je <, >, /, _x. Utekli jako _xHHHH_. Zkratka HHHH pro čtyřmístný šestnáctkový kód UCS-2 pro znak. Nulovatelný. Vrátí NULL , pokud událost neobsahuje žádné další informace. |
file_name |
varchar(260) | Cesta a název souboru protokolu auditu, ze kterého záznam pochází. Není nulovatelný. |
audit_file_offset |
bigint | Posun vyrovnávací paměti v souboru, který obsahuje záznam auditu. Není nulovatelný. Platí pro: Pouze SQL Server |
user_defined_event_id |
smallint | ID události definované uživatelem předané jako argument .sp_audit_write
NULL pro systémové události (výchozí) a nenulové pro uživatelem definovanou událost. Další informace najdete v tématu sp_audit_write.Platí pro: SQL Server 2012 (11.x) a novější verze, Azure SQL Database a SQL Managed Instance |
user_defined_information |
nvarchar(4000) | Používá se k zaznamenání dalších informací, které chce uživatel zaznamenat v protokolu auditu pomocí sp_audit_write uložené procedury.Platí pro: SQL Server 2012 (11.x) a novější verze, Azure SQL Database a SQL Managed Instance |
audit_schema_version |
Int | Vždy 1. |
sequence_group_id |
varbinary | Jedinečný identifikátor. platí pro: SQL Server 2016 (13.x) a novější verze |
transaction_id |
bigint | Jedinečný identifikátor pro identifikaci více událostí auditu v jedné transakci. platí pro: SQL Server 2016 (13.x) a novější verze |
client_ip |
nvarchar(128) | Zdrojová IP adresa klientské aplikace platí pro: SQL Server 2017 (14.x) a novější verze a Azure SQL Database |
application_name |
nvarchar(128) | Název klientské aplikace, která spustila příkaz, který způsobil událost auditu platí pro: SQL Server 2017 (14.x) a novější verze a Azure SQL Database |
duration_milliseconds |
bigint | Doba provádění dotazu v milisekundách Platí pro: Azure SQL Database a SQL Managed Instance |
response_rows |
bigint | Počet řádků vrácených v sadě výsledků Platí pro: Azure SQL Database a SQL Managed Instance |
affected_rows |
bigint | Počet řádků ovlivněných provedeným příkazem Platí pro: Pouze Azure SQL Database |
connection_id |
jedinečnýidentifikátor | ID připojení na serveru. Platí pro: Azure SQL Database a SQL Managed Instance |
data_sensitivity_information |
nvarchar(4000) | Typy informací a popisky citlivosti vrácené auditovaným dotazem na základě klasifikovaných sloupců v databázi. Přečtěte si další informace o zjišťování a klasifikaci dat Azure SQL Database. Platí pro: Pouze Azure SQL Database |
host_name |
nvarchar(128) | Název hostitele klientského počítače. |
session_context |
nvarchar(4000) | Páry klíč-hodnota, které jsou součástí aktuálního kontextu relace. |
client_tls_version |
bigint | Minimální verze protokolu TLS podporovaná klientem |
client_tls_version_name |
nvarchar(128) | Minimální verze protokolu TLS podporovaná klientem |
database_transaction_id |
bigint | ID transakce aktuální transakce v aktuální relaci. |
ledger_start_sequence_number |
bigint | Pořadové číslo operace v rámci transakce, která vytvořila verzi řádku. Platí pro: Pouze Azure SQL Database |
external_policy_permissions_checked |
nvarchar(4000) | Informace týkající se kontroly oprávnění externí autorizace, kdy se vygeneruje událost auditu, a vyhodnocují se zásady externí autorizace Purview. Platí pro: Pouze Azure SQL Database |
obo_middle_tier_app_id |
varchar(120) | ID aplikace střední vrstvy, která se připojuje ke službě Azure SQL Database pomocí přístupu jménem uživatele (OBO). Nulovatelný. Vrátí NULL , pokud požadavek není proveden pomocí přístupu OBO.Platí pro: Pouze Azure SQL Database |
is_local_secondary_replica |
bit |
True pokud záznam auditu pochází z místní sekundární repliky jen pro čtení, False jinak.Platí pro: Pouze Azure SQL Database |
Poznámky
Pokud file_pattern argument předaný odkazem na
fn_get_audit_filecestu nebo soubor, který neexistuje, nebo pokud soubor není souborem auditu,MSG_INVALID_AUDIT_FILEvrátí se chybová zpráva.fn_get_audit_filenelze použít při vytváření auditu pomocíAPPLICATION_LOGparametrů ,SECURITY_LOGneboEXTERNAL_MONITORmožností.
Povolení
SQL Server 2019 (15.x) a starší verze vyžadují oprávnění CONTROL SERVER na serveru.
SQL Server 2022 (16.x) a novější verze vyžadují VIEW SERVER SECURITY AUDIT oprávnění na serveru.
Příklady
Tento příklad čte ze souboru s názvem \\serverName\Audit\HIPAA_AUDIT.sqlaudit.
SELECT *
FROM sys.fn_get_audit_file(
'\\serverName\Audit\HIPAA_AUDIT.sqlaudit',
DEFAULT,
DEFAULT
);
GO
Úplný příklad vytvoření auditu najdete v tématu
Omezení
Výběr řádků v sys.fn_get_audit_file rámci příkazu Create Table As Select (CTAS) nebo INSERT INTO je omezení při spuštění ve službě Azure Synapse Analytics. I když se dotaz úspěšně dokončí a nezobrazí se žádné chybové zprávy, v tabulce vytvořené pomocí CTAS nebo INSERT INTO.
Více informací
Zobrazení systémového katalogu:
-
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)
Transact-SQL:
- 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)
Související obsah
- Vytvoření specifikace auditu serveru a auditu serveru
- sys.dm_server_audit_status (Transact-SQL)
-
sys.dm_audit_actions (Transact-SQL) -
sys.dm_audit_class_type_map (Transact-SQL) - sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)