Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:Azure SQL Database
Raktár a Microsoft Fabric-ben
SQL adatbázis a Microsoft Fabric-ben
A sys.fn_get_audit_file_v2 rendszer funkciója arra szolgál, hogy az audit napló adatait jobb hatékonysággal lehessen szerezni elődjéhez képest. sys.fn_get_audit_file A funkció időalapú szűrést vezet be mind a fájl, mind a rekord szintjén, jelentős teljesítményjavulást biztosítva, különösen olyan lekérdezéseknél, amelyek meghatározott időtartományokat céloznak.
Visszaadja az adatokat egy szerveraudit által létrehozott auditfájlból. További információ: SQL Server Audit (Adatbázismotor).
- Az Azure SQL adatbázis auditálásának beállításáról információért lásd: Kezdj SQL adatbázis auditinggel.
- A Fabric Data Warehouse auditálásának beállításáról információért lásd: SQL Audit Logs a Fabric Data Warehouse területén.
- Az SQL adatbázis beállításáról a Fabric auditingben további információkért lásd: SQL Audit az SQL adatbázisban a Fabricben.
Transact-SQL szintaxis konvenciók
Szemantika
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
Vonatkozik a következőkre: Azure SQL Database only
Megadja a könyvtárat, útvonalat és fájlnevet az audit fájl beállításához, amelyet olvasni kell. file_patternnvarchar(260).
Ha fájlnév mintázat nélkül haladunk át, hiba keletkezik.
Ezt az érvet egy blob URL-t (beleértve a tároló végpontot és a konténert is) meghatározására használják. Bár nem támogatja a csillagjelölt wildcardot, használhatsz részleges fájl (blob) név előtagot (a teljes folb név helyett), hogy több fájlt (blob) gyűjts, amelyek ezzel az előtaggal kezdődnek. Például:
<Storage_endpoint>/<Container>/<ServerName>/<DatabaseName>/- összegyűjti az adott adatbázis összes audit fájlját (foltját).<Storage_endpoint>/<Container>/<ServerName>/<DatabaseName>/<AuditName>/<CreationDate>/<FileName>.xel- egy adott audit fájlt (blob) gyűjt.
initial_file_name
Vonatkozik a következőkre: Azure SQL Database only
Megadja egy adott fájl útját és nevét abban az auditfájl-beállításban, ahonnan elkezdhetjük az audit rekordok olvasását. initial_file_namenvarchar(260).
Az initial_file_name érvnek érvényes bejegyzéseket kell tartalmaznia, vagy vagy az default vagy NULL értéket.
audit_record_offset
Vonatkozik a következőkre: Azure SQL Database only
Megad egy ismert helyet a initial_file_name fájljával. Amikor ezt az argumentust használják, a függvény a puffer első rekordjánál kezd el olvasni, közvetlenül a megadott eltolás után.
Az audit_record_offset érvnek érvényes elemeket kell tartalmaznia, vagy vagy az default or NULL értéket.
audit_record_offsetnagy.
start_time
A naplók szűrésének kezdeti ideje. Az ezt megelőző rekordokat kizárják.
end_time
A naplók szűrésének végideje. Az ezt követő rekordokat kizárják.
Visszaadott tábla
Az alábbi táblázat bemutatja az audit fájl tartalmát, amelyet ez a függvény adott vissza.
| Oszlop név | Típus | Description |
|---|---|---|
event_time |
datetime2 | A naplózható művelet aktiválásának dátuma és időpontja. Nem null értékű. |
sequence_number |
int | Nyomon követi egy olyan naplórekord rekordjainak sorrendjét, amelyek túl nagyok ahhoz, hogy elférjenek az auditok írási pufferében. Nem null értékű. |
action_id |
varchar(4) | Az akció azonosítója. Nem null értékű. |
succeeded |
bit | Azt jelzi, hogy az eseményt kiváltó művelet sikeres volt-e. Nem null értékű. A bejelentkezési eseményeken kívül minden esemény esetében ez csak azt jelenti, hogy az engedély-ellenőrzés sikeres volt vagy sikertelen volt, nem pedig a művelet.1 = siker0 = sikertelen |
permission_bitmask |
varbinary(16) | Bizonyos cselekedetekben ez a bitmask az engedélyek megítélése, elutasítása vagy visszavonása volt. |
is_column_permission |
bit | Jelző, amely jelzi, hogy ez oszlopszintű engedély-e. Nem null értékű. Visszatér0, amikor apermission_bitmask = 0 .1 = igaz0 = hamis |
session_id |
smallint | Annak a munkamenetnek az azonosítója, amelyen az esemény történt. Nem null értékű. |
server_principal_id |
int | A műveletet végrehajtó bejelentkezési környezet azonosítója. Nem null értékű. |
database_principal_id |
int | Annak az adatbázis-felhasználói környezetnek az azonosítója, amelyben a műveletet végrehajtják. Nem null értékű. Visszaküldés 0 , ha ez nem vonatkozik. Például egy kiszolgálóművelet. |
target_server_principal_id |
int | Szerver alapvetménye, amelyen a GRANT/DENY/REVOKE művelet történik. Nem null értékű. A bevallások 0 , ha nem alkalmazhatók. |
target_database_principal_id |
int | Az adatbázis alapalap, amelyen a GRANT/DENY/REVOKE művelet történik. Nem null értékű. A bevallások 0 , ha nem alkalmazhatók. |
object_id |
int | Az audit végrehajtott entitás azonosítója, amely magában foglalja az alábbi objektumokat: - Szerverobjektumok -Adatbázisok - Adatbázis objektumok - Séma objektumok Nem null értékű. Akkor jelenik 0 meg, ha az entitás maga a szerver, vagy ha az audit nem tárgy szinten történik. Például hitelesítés. |
class_type |
varchar(2) | A naplózható entitás típusa, amelyen a naplózás történik. Nem null értékű. |
session_server_principal_name |
sysname | Szerver alapvetél a sessionhez. Nullable. Visszaadja az eredeti bejelentkezés identitását, amely az adatbázis motorhoz volt csatlakoztatva, arra az esetre, ha explicit vagy implicit kontextusváltások voltak. |
server_principal_name |
sysname | Aktuális bejelentkezés. Nullable. |
server_principal_sid |
varbinary | Jelenlegi bejelentkezési SID. Nullable. |
database_principal_name |
sysname | Jelenlegi felhasználó. Nullable. A visszaküldés NULL , ha nem elérhető. |
target_server_principal_name |
sysname | Cél bejelentkezés a cselekvéshez. Nullable. A bevallások NULL , ha nem alkalmazhatók. |
target_server_principal_sid |
varbinary | A cél bejelentkezés SID-je. Nullable. A bevallások NULL , ha nem alkalmazhatók. |
target_database_principal_name |
sysname | Célzott célú felhasználó a cselekvés során. Nullable. A bevallások NULL , ha nem alkalmazhatók. |
server_instance_name |
sysname | Annak a kiszolgálópéldánynak a neve, ahol a naplózás történt. A szabványos server\instance formátumot használják. |
database_name |
sysname | Az adatbázis-környezet, amelyben a művelet történt. Nullable. A szerver szintjén végzett auditok visszajelzései NULL . |
schema_name |
sysname | A sémakörnyezet, amelyben a művelet történt. Nullable. A sémán kívüli auditok bevallása NULL . |
object_name |
sysname | Az ellenség neve, amelyen az audit történt, amely magában foglalja a következő objektumokat: - Szerverobjektumok -Adatbázisok - Adatbázis objektumok - Séma objektumok Nullable. Akkor jelenik NULL meg, ha az entitás maga a szerver, vagy ha az audit nem tárgy szinten történik. Például hitelesítés. |
statement |
nvarchar(4000) | Transact-SQL állítás, ha létezik. Nullable. A bevallások NULL , ha nem alkalmazhatók. |
additional_information |
nvarchar(4000) | A rendszer csak egyetlen eseményre vonatkozó egyedi információkat ad vissza XML-fájlként. Néhány naplózható művelet ilyen jellegű információkat tartalmaz. A T-SQL stack egyik szintje XML formátumban jelenik meg olyan műveletek esetén, amelyekhez T-SQL stack van hozzárendelve. Az XML formátum a következő: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>frame nest_level a keret aktuális fészkelési szintjét jelzi. A modul neve három részből álló formátumban van ábrázolva (database_name, schema_name, és object_name). A modul nevét úgy parzálják, hogy kiszabaduljon az érvénytelen XML karakterekből, mint <például , , >/, _x. Megszöknek a _xHHHH_. Ez HHHH a négyjegyű hatleveles UCS-2 kódot jelöli. Nullable. Akkor tér vissza NULL , ha az esemény nem jelent további információt. |
file_name |
varchar(260) | Annak a naplófájlnak az elérési útja és neve, amelyből a rekord származik. Nem null értékű. |
audit_file_offset |
bigint | A naplózási rekordot tartalmazó fájl puffereltolása. Nem null értékű. |
user_defined_event_id |
smallint | Felhasználó által definiált eseményazonosító argumentumként továbbított .sp_audit_write
NULL rendszereseményekhez (alapértelmezett) és nem nulla a felhasználó által definiált eseményre. További információ: sp_audit_write (Transact-SQL). |
user_defined_information |
nvarchar(4000) | A felhasználó által a naplóban rögzíteni kívánt további információk rögzítésére szolgál a sp_audit_write tárolt eljárással. |
audit_schema_version |
int | Mindig 1. |
sequence_group_id |
varbinary | Egyedi azonosító.< |
transaction_id |
bigint | Egyedi azonosító több audit esemény azonosítására egyetlen tranzakcióban. |
client_ip |
nvarchar(128) | Az ügyfélalkalmazás forrás IP-címe. |
application_name |
nvarchar(128) | Az ügyfélalkalmazás neve, amely végrehajtotta azt a kijelentést, amely az audit eseményt okozta. |
duration_milliseconds |
bigint | A lekérdezés végrehajtási időtartama milliszekundumokban. |
response_rows |
bigint | Az eredményhalmazban vissza hozott sorok száma.< |
affected_rows |
bigint | A végrehajtott utasítás által érintett sorok száma. |
connection_id |
uniqueidentifier | A szerveren lévő kapcsolat azonosítója. |
data_sensitivity_information |
nvarchar(4000) | A naplózott lekérdezés által visszaadott információtípusok és bizalmassági címkék az adatbázis besorolt oszlopai alapján. Tudjon meg többet az Azure SQL Database adatfeltárásáról és osztályozásáról. |
host_name |
nvarchar(128) | Az ügyfélgép hoszt neve. |
session_context |
nvarchar(4000) | A kulcs-érték párok, amelyek a jelenlegi session kontextusának részei. |
client_tls_version |
bigint | Minimum TLS verzió, amelyet az ügyfél támogat. |
client_tls_version_name |
nvarchar(128) | Minimum TLS verzió, amelyet az ügyfél támogat. |
database_transaction_id |
bigint | A jelenlegi tranzakció azonosítója a jelenlegi ülésen. |
ledger_start_sequence_number |
bigint | Egy művelet sorszáma egy tranzakción belül, amely sorverziót hozott létre. |
external_policy_permissions_checked |
nvarchar(4000) | Értékelik a külső engedélyezési engedélyellenőrzéshez kapcsolódó információkat, mikor generálnak egy auditeseményt, valamint a Purview külső hitelesítési szabályzatait. |
obo_middle_tier_app_id |
varchar(120) | A középső szintű alkalmazás alkalmazásazonosítója, amely on-bany (OBO) hozzáféréssel csatlakozik. Nullable. Visszaküldik NULL , ha a kérés nem OBO hozzáféréssel történik. |
is_local_secondary_replica |
bit |
True ha az audit rekordja egy csak olvasható helyi másodlagos replikáról származik, False különben |
Fejlesztések sys.fn_get_audit_file
A sys.fn_get_audit_file_v2 funkció jelentős javulást kínál a régebbihez sys.fn_get_audit_file képest azzal , hogy hatékony időalapú szűrést vezet be mind a fájl, mind a rekord szintjén. Ez az optimalizáció különösen hasznos olyan lekérdezéseknél, amelyek kisebb időtávolságokat céloznak, és segíthet fenntartani a teljesítményt több adatbázisos környezetben.
Kettős szintű szűrés
Fájlszintű szűrés: A függvény először a megadott időtartomány alapján szűri a fájlokat, csökkentve a szkennelendő fájlok számát.
Rekordszintű szűrés: Ezután a kiválasztott fájlokban történő szűrést alkalmaz, hogy csak a releváns rekordokat nyerje ki.
Teljesítménybeli fejlesztések
A teljesítmény javulása elsősorban a blob fájlok felállási idejétől és a lekérdezett időtartománytól függ. Feltételezve, hogy az audit nyilvántartások egységes eloszlása:
Csökkentett terhelés: A fájlok és rekordok mennyiségének minimalizálásával csökkenti a rendszer terhelését és javítja a lekérdezési válaszidőt.
Skálázhatóság: Segít fenntartani a teljesítményt még az adatbázisok száma növekszik is, bár a nettó javulás kevésbé lehet olyan környezetekben, ahol sok adatbázis van.
Megjegyzések
Ha a file_pattern argumentum fn_get_audit_file_v2 egy nem létező útra vagy fájlra utal, vagy ha a fájl nem audit fájl, akkor a MSG_INVALID_AUDIT_FILE hibaüzenet visszakerül.
A fn_get_audit_file_v2 függvény nem használható, ha az auditot , APPLICATION_LOGSECURITY_LOG, vagy EXTERNAL_MONITOR opciókkal hozzuk létre.
Jelenleg a Fabric Data Warehouse-ban nem lehet hozzáférni az egyes fájlokhoz, csak az audit mappához. Az alábbi érvek nem támogatottak az SQL Audit esetén egy raktári tárgyon: file_pattern, initial_file_name, audit_record_offset.
Permissions
Permissions required in Azure SQL Database
A CONTROL DATABASE engedélyre van szükség.
A szerveradminek hozzáférhetnek a szerver összes adatbázisának audit naplójához.
A nem szerveradminisztrátorok csak a jelenlegi adatbázisból érhetnek hozzáférést audit naplókhoz.
Azok a foltok, amelyek nem felelnek meg a fenti kritériumoknak, kihagyják (a lekérdezés kimeneti üzenetében megjelenik a kihagyott foltok listája). A függvény csak olyan blokkokból ad vissza naplókat, amelyekhez hozzáférés engedélyezett.
A Fabric SQL adatbázisban szükséges jogosultságok
Ahhoz, hogy a Fabric workspace szerepekkel történő auditálást kezeljenek, a felhasználóknak tagsággal kell rendelkezniük a Fabric workspace Contributor szerepben vagy magasabb jogosultsággal. A naplózás kezelése SQL-engedélyekkel:
- Az adatbázis-naplózás konfigurálásához a felhasználóknak alter ANY DATABASE AUDIT engedéllyel kell rendelkezniük.
- A naplók T-SQL használatával való megtekintéséhez a felhasználóknak rendelkezniük kell a VIEW DATABASE SECURITY AUDIT engedéllyel.
További információért lásd: Auditing in Fabric SQL adatbázisban.
Szükséges jogosultságok a Fabric Data Warehouse-ban
A felhasználóknak rendelkezniük kell a Fabric item Audit engedélyével. További információ: Engedélyek.
Példák
A. View SQL audit logs for Azure SQL Database
Ez a példa egy adott Azure Blob Storage helyszínről származó audit naplókat kér, és a rekordokat szűri és 2023-11-17T08:40:40Z2023-11-17T09:10:40Zközött.
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. View SQL audit logs for Fabric Data Warehouse
Ez a példa az aktuális munkaterülethez és raktárhoz igazított OneLake mappából származó audit naplókat tölti le, és a rekordokat szűrve és 2023-11-17T08:40:40Z2023-11-17T09:10:40Zközött.
A Fabric portálban kérd meg a workspaceID saját és warehouseID:
-
<workspaceID>: Látogass meg a munkaterületedre a Fabric portálban. A munkaterület GUID-jét a szakasz utáni URL-ben/groups/keressd meg, vagy egy meglévő raktárban futtadSELECT @@SERVERNAME. Ha/groups/az URL-ed után/me/, akkor az alapértelmezett munkaterületet használod, és jelenleg az alapértelmezett munkaterületen az SQL Audit for Fabric Data Warehouse nem támogatott. -
<warehouseID>: Látogass el raktáradhoz a Fabric portálon. Keresd meg a raktárazonosítót a szakasz utáni URL-ben/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. SQL adatbázis SQL audit logjait tekintse a Microsoft Fabric-ben
Ez a példa a OneLake-ből származó audit naplókat a Microsoft Fabric-ben és között 2025-11-17T08:40:40Z2025-11-17T09:10:40Ztölti be.
A következő szkriptben megadnod kell a Microsoft Fabric munkaterületi azonosítóját és adatbázis-azonosítódat. Mindkettő megtalálható a Fabric portál URL-jén. Például: https://fabric.microsoft.com/groups/<fabric workspace id>/sqldatabases/<fabric sql database id>. Az URL-ben az első egyedi azonosító string a Fabric workspace ID, a második egyedi azonosító string pedig az SQL adatbázis azonosítója.
- Cserélje le
<fabric_workspace_id>a Fabric-munkaterület azonosítóját. A munkaterület azonosítóját könnyen megtalálhatja az URL-címben, ez a böngészőablakban található egyedi sztring, amely két/karakter között helyezkedik el/groups/után. - Cserélje le az
<fabric sql database id>elemet az SQL-adatbázisra a Fabric adatbázis-azonosítóban. Az adatbáziselem azonosítóját könnyen megtalálhatja az URL-ben; ez a böngészőablakban a/utáni, két/sqldatabases/karakter közötti egyedi sztring.
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')
További információ
Rendszerkatalógus nézetek:
- 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)
- SZERVERAUDIT MÓDOSÍTÁSA (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- KISZOLGÁLÓ ELLENŐRZÉSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- SZERVER AUDIT SPECIFIKÁCIÓJÁNAK MÓDOSÍTÁSA (Transact-SQL)
- DROP SERVER AUDIT SPECIFIKÁCIÓ (Transact-SQL)
- ADATBÁZIS-NAPLÓZÁSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- ADATBÁZIS NAPLÓZÁSI SPECIFIKÁCIÓ MÓDOSÍTÁSA (Transact-SQL)
- ADATBÁZIS-ELLENŐRZÉSI SPECIFIKÁCIÓ ELDOBÁSA (Transact-SQL)
- MÓDOSÍTÁSI ENGEDÉLYEZÉS (Transact-SQL)
Kapcsolódó tartalom
- Kiszolgálónaplózás és kiszolgálónaplózási specifikáció létrehozása
- 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)
- Kezdj el SQL adatbázis auditálással
- SQL audit logs a Fabric Data Warehouse