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.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-adatbázis a Microsoft Fabricben
Egy SQL Server-naplózás által létrehozott auditfájlból származó információkat ad vissza. További információ: SQL Server Audit (Adatbázismotor).
Jótanács
Fontold meg, hogy inkább sys.fn_get_audit_file_v2 használd. A sys.fn_get_audit_file_v2 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.
Jótanács
A Fabric Data Warehouse sys.fn_get_audit_file esetében támogatott, de sys.fn_get_audit_file_v2 (Transact-SQL) ajánlott. A sys.fn_get_audit_file_v2 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. További információkért és példákért lásd: Auditing konfigurálása a Fabric Data Warehouse-ban.
Jótanács
Az SQL adatbázis Fabric-ben sys.fn_get_audit_file támogatott, de sys.fn_get_audit_file_v2 (Transact-SQL) ajánlott. A sys.fn_get_audit_file_v2 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. További információkért és példákért lásd: Auditálás konfigurálása a Fabric SQL adatbázisban.
Transact-SQL szintaxis konvenciók
Szemantika
fn_get_audit_file ( file_pattern ,
{ default | initial_file_name | NULL } ,
{ default | audit_record_offset | NULL } )
Érvek
file_pattern
Megadja az olvasni kívánt naplózási fájlkészlet könyvtárát vagy elérési útját és fájlnevét. A típus nvarchar(260).
Ha egy elérési utat fájlnévminta nélkül ad át, az hibát okoz.
Ennek az argumentumnak tartalmaznia kell egy elérési utat (meghajtóbetűjelet vagy hálózati megosztást) és egy olyan fájlnevet, amely tartalmazhat helyettesítő karaktereket. Egyetlen csillag (*) használatával több fájlt is összegyűjthet egy auditfájlkészletből. Például:
\<path>\*– Gyűjtse össze az összes auditfájlt a megadott helyen.<path>\LoginsAudit_{GUID}*– Gyűjtse össze a megadott névvel és GUID-párlal rendelkező összes auditfájlt.<path>\LoginsAudit_{GUID}_00_29384.sqlaudit- Gyűjtsön össze egy adott auditfájlt.
initial_file_name
Egy adott fájl elérési útját és nevét adja meg a naplózási fájlkészletben a naplórekordok olvasásának megkezdéséhez. A típus nvarchar(260).
A initial_file_name argumentumnak érvényes bejegyzéseket kell tartalmaznia, vagy tartalmaznia kell az értéket vagy default az NULL értéket.
audit_record_offset
Egy ismert helyet ad meg a initial_file_name megadott fájllal. Ha ezt az argumentumot használja, a függvény a puffer első rekordján kezdi az olvasást közvetlenül a megadott eltolás után.
A audit_record_offset argumentumnak érvényes bejegyzéseket kell tartalmaznia, vagy tartalmaznia kell az értéket vagy default az NULL értéket. A típus nagy.
Visszaadott táblák
Az alábbi táblázat a függvény által visszaadható naplózási fájltartalmat ismerteti.
| Oszlop név | Típus | Leírás |
|---|---|---|
event_time |
datetime2 | A naplózható művelet aktiválásának UTC-dátuma és időpontja. Nem nullázható. |
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ázható. |
action_id |
varchar(4) | A művelet azonosítója. Nem nullázható. |
succeeded |
bit | Azt jelzi, hogy az eseményt kiváltó művelet sikeres volt-e. Nem nullázható. 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 |
varbináris(16) | Egyes műveletekben ez a bitmaszk a megadott, elutasított vagy visszavont engedélyek. |
is_column_permission |
bit | Jelző, amely jelzi, hogy ez oszlopszintű engedély-e. Nem nullázható. Akkor adja 0 vissza, ha apermission_bitmask = 0 .1 = igaz0 = hamis |
session_id |
kisméretű | Annak a munkamenetnek az azonosítója, amelyen az esemény történt. Nem nullázható. |
server_principal_id |
Int | A műveletet végrehajtó bejelentkezési környezet azonosítója. Nem nullázható. |
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ázható. Visszaadja 0 , ha ez nem érvényes. Például egy kiszolgálóművelet. |
target_server_principal_id |
Int | Kiszolgálónév, amelyen a GRANT/DENY/REVOKE műveletet végrehajtják. Nem nullázható. Visszaadja 0 , ha nem alkalmazható. |
target_database_principal_id |
Int | Azon adatbázisnév, amelyen a GRANT/DENY/REVOKE műveletet végrehajtja. Nem nullázható. Visszaadja 0 , ha nem alkalmazható. |
object_id |
Int | Annak az entitásnak az azonosítója, amelyen a naplózás történt, amely a következő objektumokat tartalmazza: - Kiszolgálóobjektumok -Adatbázisok - Adatbázis-objektumok - Sémaobjektumok Nem nullázható. Visszaadja 0 , ha az entitás maga a kiszolgáló, vagy ha a naplózás nem objektumszinten 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ázható. |
session_server_principal_name |
sysname | Kiszolgálónév munkamenethez. Nullázható. Az adatbázismotor példányához csatlakoztatott eredeti bejelentkezés identitását adja vissza, ha explicit vagy implicit környezeti kapcsolók voltak. |
server_principal_name |
sysname | Aktuális bejelentkezés. Nullázható. |
server_principal_sid |
varbináris | Jelenlegi bejelentkezési biztonsági azonosító (SID). Nullázható. |
database_principal_name |
sysname | Jelenlegi felhasználó. Nullázható. Visszaadja, NULL ha nem érhető el. |
target_server_principal_name |
sysname | A művelet célba történő bejelentkezése. Nullázható. Visszaadja NULL , ha nem alkalmazható. |
target_server_principal_sid |
varbináris | A célzott bejelentkezés biztonsági azonosítója. Nullázható. Visszaadja NULL , ha nem alkalmazható. |
target_database_principal_name |
sysname | A művelet célfelhasználója. Nullázható. Visszaadja NULL , ha nem alkalmazható. |
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álja a rendszer. |
database_name |
sysname | Az adatbázis-környezet, amelyben a művelet történt. Nullázható.
NULL A kiszolgáló szintjén végzett naplózások eredménye. |
schema_name |
sysname | A sémakörnyezet, amelyben a művelet történt. Nullázható.
NULL A sémán kívüli naplózások eredménye. |
object_name |
sysname | Annak az entitásnak a neve, amelyen a naplózás történt, amely a következő objektumokat tartalmazza: - Kiszolgálóobjektumok -Adatbázisok - Adatbázis-objektumok - Sémaobjektumok Nullázható. Visszaadja NULL , ha az entitás maga a kiszolgáló, vagy ha a naplózás nem objektumszinten történik. Például hitelesítés. |
statement |
nvarchar(4000) | Transact-SQL utasítást, ha létezik. Nullázható. Visszaadja NULL , ha nem alkalmazható. |
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-verem egy szintje XML formátumban jelenik meg azokhoz a műveletekhez, amelyekhez T-SQL-verem van társítva. 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 beágyazási szintjét jelzi. A modul neve három részformátumban (database_nameés schema_nameobject_name) jelenik meg. A modul neve úgy van elemezve, hogy elkerülje az olyan érvénytelen XML-karaktereket, mint a <, >, /_x. Úgy szöktek meg, mint _xHHHH_. A HHHH karakter négyjegyű hexadecimális UCS-2 kódját jelöli. Nullázható. Akkor adja NULL vissza, ha az esemény nem tartalmaz 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ázható. |
audit_file_offset |
bigint | A naplózási rekordot tartalmazó fájl puffereltolása. Nem nullázható. Csak az SQL Serverre vonatkozik |
user_defined_event_id |
kisméretű | A felhasználó által megadott eseményazonosító argumentumként lett átadva a következőnek sp_audit_write: .
NULL a rendszeresemények (alapértelmezett) és a felhasználó által definiált események esetében nem nulla. További információ: sp_audit_write.A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb verziók, Azure SQL Database és felügyelt SQL-példány |
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.A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb verziók, Azure SQL Database és felügyelt SQL-példány |
audit_schema_version |
Int | Mindig 1. |
sequence_group_id |
varbináris | Egyedi azonosító. : SQL Server 2016 (13.x) és újabb verziók |
transaction_id |
bigint | Egyedi azonosító több auditesemény azonosításához egy tranzakcióban. : SQL Server 2016 (13.x) és újabb verziók |
client_ip |
Nvarchar(128) | Az ügyfélalkalmazás forrás IP-címe. Az: SQL Server 2017 (14.x) és újabb verziók, valamint az Azure SQL Database |
application_name |
Nvarchar(128) | A naplózási eseményt okozó utasítást végrehajtó ügyfélalkalmazás neve. Az: SQL Server 2017 (14.x) és újabb verziók, valamint az Azure SQL Database |
duration_milliseconds |
bigint | A lekérdezés végrehajtásának időtartama ezredmásodpercben. A következőkre vonatkozik: Azure SQL Database és felügyelt SQL-példány |
response_rows |
bigint | Az eredményhalmazban visszaadott sorok száma. A következőkre vonatkozik: Azure SQL Database és felügyelt SQL-példány |
affected_rows |
bigint | A végrehajtott utasítás által érintett sorok száma. Csak az Azure SQL Database-re vonatkozik |
connection_id |
uniqueidentifier | A kiszolgáló kapcsolatának azonosítója. A következőkre vonatkozik: Azure SQL Database és felügyelt SQL-példány |
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. További információ az Azure SQL Database-adatok felderítéséről és besorolásáról. Csak az Azure SQL Database-re vonatkozik |
host_name |
Nvarchar(128) | Az ügyfélszámítógép állomásneve. |
session_context |
nvarchar(4000) | Az aktuális munkamenet-környezet részét képező kulcs-érték párok. |
client_tls_version |
bigint | Az ügyfél által támogatott minimális TLS-verzió. |
client_tls_version_name |
Nvarchar(128) | Az ügyfél által támogatott minimális TLS-verzió. |
database_transaction_id |
bigint | Az aktuális tranzakció tranzakcióazonosítója az aktuális munkamenetben. |
ledger_start_sequence_number |
bigint | Egy sorverziót létrehozó tranzakción belüli művelet sorszáma. A következőkre vonatkozik: Csak Azure SQL Database |
external_policy_permissions_checked |
nvarchar(4000) | A külső engedélyezési engedély ellenőrzésével, a naplózási esemény generálásakor és a Purview külső engedélyezési szabályzatainak kiértékelésével kapcsolatos információk. A következőkre vonatkozik: Csak Azure SQL Database |
obo_middle_tier_app_id |
varchar(120) | A középső rétegbeli alkalmazás alkalmazásazonosítója, amely az Azure SQL Database-hez csatlakozik helyszíni (OBO) hozzáféréssel. Nullázható. Visszaadja NULL , ha a kérés nem OBO-hozzáféréssel történik.Csak az Azure SQL Database-re vonatkozik |
is_local_secondary_replica |
bit |
True ha a naplózási rekord írásvédett helyi másodlagos replikából származik, False ellenkező esetben.A következőkre vonatkozik: Csak Azure SQL Database |
Megjegyzések
Ha a file_pattern argumentum
fn_get_audit_filenem létező elérési útra vagy fájlra hivatkozik, vagy ha a fájl nem auditfájl, aMSG_INVALID_AUDIT_FILEhibaüzenet jelenik meg.fn_get_audit_filenem használható, ha a naplózás aAPPLICATION_LOG,SECURITY_LOGvagyEXTERNAL_MONITORa beállításokkal jön létre.
Engedélyek
Az SQL Server 2019 (15.x) és a korábbi verziók CONTROL SERVER engedélyt igényelnek a kiszolgálón.
Az SQL Server 2022 (16.x) és újabb verziói VIEW SERVER SECURITY AUDIT engedélyt igényelnek a kiszolgálón.
Példák
Ez a példa egy elnevezett \\serverName\Audit\HIPAA_AUDIT.sqlauditfájlból olvas be.
SELECT *
FROM sys.fn_get_audit_file(
'\\serverName\Audit\HIPAA_AUDIT.sqlaudit',
DEFAULT,
DEFAULT
);
GO
A naplózás létrehozásának teljes példáját az SQL Server audit (adatbázismotor) című témakörben találhatja meg.
Korlátozások
Sorok kijelölése a Create Table As Select (CTAS) szolgáltatásban sys.fn_get_audit_file , vagy INSERT INTO az Azure Synapse Analyticsben való futtatás korlátozása. Bár a lekérdezés sikeresen befejeződött, és nem jelennek meg hibaüzenetek, a CTAS vagy INSERT INTOa .
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:
- KISZOLGÁLÓ NAPLÓZÁSÁNAK LÉTREHOZÁSA (Transact-SQL)
- ALTER SZERVER AUDIT (Transact-SQL)
- DROP SZERVER AUDIT (Transact-SQL)
- KISZOLGÁLÓ ELLENŐRZÉSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- KISZOLGÁLÓ ELLENŐRZÉSI SPECIFIKÁCIÓJÁNAK MÓDOSÍTÁSA (Transact-SQL)
- DROP SZERVER AUDIT SPECIFIKÁCIÓ (Transact-SQL)
- ADATBÁZIS-NAPLÓZÁSI SPECIFIKÁCIÓ LÉTREHOZÁSA (Transact-SQL)
- ADATBÁZIS-ELLENŐRZÉ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)