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í na:Azure SQL Database
Sklad v Microsoft Fabric
SQL databáze v Microsoft Fabric
Systémová sys.fn_get_audit_file_v2 funkce je navržena tak, aby získávala data z auditních logů s vyšší efektivitou ve srovnání s jejím předchůdcem. sys.fn_get_audit_file Funkce 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í.
Vrací informace z auditního souboru vytvořeného auditem serveru. Další informace získáte v části SQL Server Audit (Database Engine).
- Informace o nastavení auditu databáze Azure SQL najdete v článku Začněte s auditováním SQL databáze.
- Informace o nastavení auditu Fabric Data Warehouse naleznete v SQL Audit Logs in Fabric Data Warehouse.
- Pro informace o nastavení SQL databáze v auditu Fabric viz SQL audit v SQL databázi ve Fabric.
Syntaxe
fn_get_audit_file_v2 ( file_pattern
, { default | initial_file_name | NULL }
, { default | audit_record_offset | NULL }
, { default | start time | NULL }
, { default | end time | NULL } )
Arguments
file_pattern
Platí na: Azure SQL Database only
Specifikuje adresář nebo cestu a název souboru pro auditní souborovou sadu, která má být čtena. file_pattern je nvarchar(260).
Předání cesty bez vzoru názvu souboru způsobuje chybu.
Tento argument se používá k určení blob URL (včetně endpointu úložiště a kontejneru). I když nepodporuje hvězdičku, můžete použít částečný prefix názvu souboru (blob) (místo plného blob) k získání více souborů (blobů) začínajících touto předponou. Například:
<Storage_endpoint>/<Container>/<ServerName>/<DatabaseName>/- shromažďuje všechny auditní soubory (bloby) pro konkrétní databázi.<Storage_endpoint>/<Container>/<ServerName>/<DatabaseName>/<AuditName>/<CreationDate>/<FileName>.xel- Shromažďuje konkrétní auditní soubor (BLOB).
initial_file_name
Platí na: Azure SQL Database only
Specifikuje cestu a název konkrétního souboru v auditní sadě souborů, ze které se začnou číst auditní záznamy. initial_file_name je nvarchar(260).
Argument initial_file_name musí obsahovat platné položky, nebo musí obsahovat buď default hodnotu nebo NULL .
audit_record_offset
Platí na: Azure SQL Database only
Specifikuje známou polohu se souborem určeným pro initial_file_name. Když je tento argument použit, funkce začne číst první záznam bufferu bezprostředně po specifikovaném offsetu.
Argument audit_record_offset musí obsahovat platné položky nebo musí obsahovat default hodnotu nebo NULL .
audit_record_offset je velké.
start_time
Čas začátku filtrování logů. Záznamy před tímto obdobím jsou vyloučeny.
end_time
Konec filtrace logů. Záznamy po tomto období jsou vyloučeny.
Vrácená tabulka
Následující tabulka popisuje obsah auditního souboru vrácený touto funkcí.
| Název sloupce | Typ | Description |
|---|---|---|
event_time |
datetime2 | Datum a čas, 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) | Identifikace 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 |
varbinary(16) | V některých případech je tato bitmaska povoleními, která byla udělena, zamítnuta nebo odebrána. |
is_column_permission |
bit | Příznak označující, jestli se jedná o oprávnění na úrovni sloupce. Není nulovatelný. Vrací, 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ácení zboží 0 , pokud to není relevantní. Například operace serveru. |
target_server_principal_id |
int | Princip serveru, na kterém GRANT/DENY/REVOKE je operace prováděna. Není nulovatelný. Pokud není relevantní, vrácení vrácení 0 . |
target_database_principal_id |
int | Princip databáze, na kterém GRANT/DENY/REVOKE se operace provádí. Není nulovatelný. Pokud není relevantní, vrácení vrácení 0 . |
object_id |
int | ID subjektu, na kterém audit proběhl, včetně následujících objektů: - Objekty serveru -Databáze - Databázové objekty - Objekty schématu Není nulovatelný. Vrátí, 0 pokud je entitou samotný server nebo pokud audit není proveden 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 | Server principal pro relaci. Nullable. Vrací identitu původního přihlašovacího údaje, která byla připojena k instanci databázového enginu v případě explicitních nebo implicitních změn kontextu. |
server_principal_name |
sysname | Aktuální přihlášení. Nullable. |
server_principal_sid |
varbinary | Aktuální identifikátor SID přihlášení. Nullable. |
database_principal_name |
sysname | Aktuální uživatel. Nullable. Vrácení vrácení NULL , pokud nejsou k dispozici. |
target_server_principal_name |
sysname | Přihlášení k cíli nebo akce. Nullable. Pokud není relevantní, vrácení vrácení NULL . |
target_server_principal_sid |
varbinary | SID přihlášení cíle. Nullable. Pokud není relevantní, vrácení vrácení NULL . |
target_database_principal_name |
sysname | Cílový uživatel akce. Nullable. Pokud není relevantní, vrácení vrácení NULL . |
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. Nullable. Vrácení auditů NULL prováděných na úrovni serveru. |
schema_name |
sysname | Kontext schématu, ve kterém došlo k akci. Nullable. Přiznání NULL auditů prováděných mimo schéma. |
object_name |
sysname | Název subjektu, na kterém audit proběhl, který zahrnuje následující objekty: - Objekty serveru -Databáze - Databázové objekty - Objekty schématu Nullable. Vrátí, NULL pokud je entitou samotný server nebo pokud audit není proveden na úrovni objektu. Například ověřování. |
statement |
nvarchar(4000) | Transact-SQL tvrzení, pokud vůbec existuje. Nullable. Pokud není relevantní, vrácení vrácení NULL . |
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ň T-SQL stacku je zobrazena ve formátu XML pro akce, které mají přiřazený T-SQL stack. XML formát je: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>frame nest_level ukazuje aktuální úroveň vnoření rámce. Název modulu je reprezentován ve formátu tří částí (database_name, schema_name, a ).object_name Název modulu je parsován tak, aby unikl neplatným XML znakům jako <, >, /, _x. Jsou utekli jako _xHHHH_. Symbol HHHH znamená čtyřmístný hexadecimální kód UCS-2 pro tento znak. Nullable. Vrací se NULL , když událost nenahlásí žá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ý. |
user_defined_event_id |
smallint | Uživatelem definované ID události bylo předáno jako argument do sp_audit_write.
NULL pro systémové události (výchozí) a nenulové pro uživatelem definované události. Další informace najdete v tématu sp_audit_write (Transact-SQL). |
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. |
audit_schema_version |
int | Vždy 1. |
sequence_group_id |
varbinary | Jedinečný identifikátor.< |
transaction_id |
bigint | Jedinečný identifikátor pro identifikaci více auditních událostí v jedné transakci. |
client_ip |
nvarchar(128) | Zdrojová IP klientská aplikace. |
application_name |
nvarchar(128) | Název klientské aplikace, která provedla příkaz způsobující auditní událost. |
duration_milliseconds |
bigint | Délka provedení dotazu v milisekundách. |
response_rows |
bigint | Počet řádků vrácených ve výsledné množině.< |
affected_rows |
bigint | Počet řádků ovlivněných vykonaným příkazem. |
connection_id |
uniqueidentifier | ID připojení na serveru. |
data_sensitivity_information |
nvarchar(4000) | Typy informací a popisky citlivosti vrácené auditovaným dotazem na základě klasifikovaných sloupců v databázi. Zjistěte více o objevování a klasifikaci dat Azure SQL Database. |
host_name |
nvarchar(128) | Hostitelské jméno klientského stroje. |
session_context |
nvarchar(4000) | Páry klíč-hodnota, které jsou součástí aktuálního kontextu relace. |
client_tls_version |
bigint | Minimální verze TLS podporovaná klientem. |
client_tls_version_name |
nvarchar(128) | Minimální verze 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 řádkovou verzi. |
external_policy_permissions_checked |
nvarchar(4000) | Informace týkající se kontroly externích autorizačních oprávnění, kdy je auditní událost generována, a vyhodnocování externích autorizačních politik Purview. |
obo_middle_tier_app_id |
Varchar(120) | ID aplikace střední úrovně, která se připojuje pomocí přístupu on-behalf-of (OBO). Nullable. Vrací se NULL , pokud žádost není provedena přes OBO přístup. |
is_local_secondary_replica |
bit |
True pokud auditní záznam pochází z lokální sekundární repliky pouze pro čtení, False jinak. |
Vylepšení oproti sys.fn_get_audit_file
Tato sys.fn_get_audit_file_v2 funkce představuje výrazné zlepšení oproti starším sys.fn_get_audit_file zavedením efektivního časově založeného filtrování jak na úrovni souboru, tak záznamu. Tato optimalizace je zvláště přínosná pro dotazy zaměřené na kratší časové intervaly a může pomoci udržet výkon v prostředí s více databázemi.
Dvouúrovňové filtrování
Filtrování na úrovni souborů: Funkce nejprve filtruje soubory podle stanoveného časového rozmezí, čímž snižuje počet souborů, které je třeba prohledat.
Filtrování na úrovni záznamů: Poté aplikuje filtrování uvnitř vybraných souborů, aby extrahovalo pouze relevantní záznamy.
Vylepšení výkonu
Zlepšení výkonu závisí především na době převedení blob souborů a dotazovaném časovém rozsahu. Za předpokladu jednotného rozložení auditních záznamů:
Snížení zátěže: Minimalizací počtu souborů a záznamů ke skenování se snižuje zátěž systému a zlepšuje se doba odezvy dotazů.
Škálovatelnost: Pomáhá udržet výkon i při rostoucím počtu databází, i když celkové zlepšení může být méně výrazné v prostředích s vysokým počtem databází.
Poznámky
Pokud file_pattern argument předávaný odkazuje fn_get_audit_file_v2 na cestu nebo soubor, který neexistuje, nebo pokud soubor není auditní soubor, chybová zpráva MSG_INVALID_AUDIT_FILE se vrátí.
Tuto fn_get_audit_file_v2 funkci nelze použít, pokud je audit vytvořen pomocí APPLICATION_LOG, SECURITY_LOG, nebo EXTERNAL_MONITOR možností.
V současnosti v Fabric Data Warehouse nemůžete přistupovat k jednotlivým souborům, pouze k auditní složce. Následující argumenty nejsou podporovány pro SQL audit na skladové položce: file_pattern, initial_file_name, . audit_record_offset
Povolení
Oprávnění požadovaná v Azure SQL Database
Vyžaduje oprávnění CONTROL DATABASE.
Správci serveru mají přístup k auditním logům všech databází na serveru.
Ne-správci serveru mají přístup pouze k auditním logům z aktuální databáze.
Bloby, které nesplňují výše uvedená kritéria, jsou přeskočeny (seznam přeskočených blobů se zobrazí ve výstupní zprávě dotazu). Funkce vrací logy pouze z blobů, ke kterým je přístup povolen.
Oprávnění požadovaná v databázi Fabric SQL
Pro správu auditu pomocí rolí Fabric workspace musí mít uživatelé členství v roli Fabric workspace Contributor nebo vyšší oprávnění. Správa auditování pomocí oprávnění SQL:
- Aby uživatelé mohli nakonfigurovat audit databáze, musí mít oprávnění ALTER ANY DATABASE AUDIT.
- Pokud chcete zobrazit protokoly auditu pomocí T-SQL, musí mít uživatelé oprávnění VIEW DATABASE SECURITY AUDIT.
Pro více informací viz Auditing in Fabric SQL database.
Oprávnění požadovaná ve skladu dat Fabric
Uživatelé musí mít oprávnění k předmětu Audit Fabric. Další informace najdete v tématu Oprávnění.
Examples
A. View SQL audit logs for Azure SQL Database
Tento příklad získává auditní logy z konkrétního místa Azure Blob Storage a filtruje záznamy mezi 2023-11-17T08:40:40Z a 2023-11-17T09:10:40Z.
SELECT *
FROM sys.fn_get_audit_file_v2(
'https://<storage_account>.blob.core.windows.net/sqldbauditlogs/server_name/database_name/SqlDbAuditing_ServerAudit/',
DEFAULT,
DEFAULT,
'2023-11-17T08:40:40Z',
'2023-11-17T09:10:40Z')
B. Zobrazit SQL auditní logy pro Fabric Data Warehouse
Tento příklad získává auditní logy ze složky OneLake zarovnané s aktuálním pracovním prostorem a skladem, filtruje záznamy mezi 2023-11-17T08:40:40Z a 2023-11-17T09:10:40Z.
V portálu Fabric si natáhněte své workspaceID a :warehouseID
-
<workspaceID>: Navštivte své pracovní místo v portálu Fabric. Najděte GUID pracovního prostoru v URL za sekcí,/groups/nebo spuštěnímSELECT @@SERVERNAMEve stávajícím skladu. Pokud je za URL/groups/následováno ,/me/používáte výchozí pracovní prostor a v současnosti SQL Audit for Fabric Data Warehouse není ve výchozím pracovním prostoru podporován. -
<warehouseID>: Navštivte svůj sklad v portálu Tkaniny. Najděte ID skladu v URL za sekcí./warehouses/
SELECT *
FROM sys. fn_get_audit_file_v2(
'https://onelake.blob.fabric.microsoft.com/{workspaceId}/{warehouseId}/Audit/sqldbauditlogs/',
DEFAULT,
DEFAULT,
'2023-11-17T08:40:40Z',
'2023-11-17T09:10:40Z')
C. Zobrazit SQL auditní logy pro SQL databázi v Microsoft Fabric
Tento příklad získává auditní záznamy z OneLake v Microsoft Fabric, mezi 2025-11-17T08:40:40Z a 2025-11-17T09:10:40Z.
V následujícím skriptu musíte zadat ID pracovního prostoru Microsoft Fabric a ID databáze. Obojí lze najít v URL z portálu Fabric. Například: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. Prvním jedinečným identifikačním řetězcem v URL je ID pracovního prostoru Fabric a druhým jedinečným identifikačním řetězcem je ID SQL databáze.
- Nahraďte
<fabric_workspace_id>ID pracovního prostoru Fabric. ID pracovního prostoru můžete snadno najít v adrese URL. Jedná se o jedinečný řetězec uvnitř dvou/znaků za/groups/oknem prohlížeče. - Nahraďte
<fabric sql database id>vaší SQL databází v rámci identifikátoru databáze Fabric. ID položky databáze můžete snadno najít v adrese URL, jedná se o jedinečný řetězec uvnitř dvou/znaků za/sqldatabases/oknem prohlížeče.
SELECT *
FROM sys.fn_get_audit_file_v2(
'https://onelake.blob.fabric.microsoft.com/<fabric workspace id>/<fabric sql database id>/Audit/sqldbauditlogs/',
DEFAULT,
DEFAULT,
'2025-11-17T08:40:40Z',
'2025-11-17T09:10:40Z')
Více informací
Pohledy na katalog systému:
-
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řit audit serveru a specifikaci auditování 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)
- Začněte s auditem SQL databází
- SQL auditní logy v Fabric Data Warehouse