Dela via


SQL Server-granskningsposter

Gäller för:SQL Server

Med sql Server-granskningsfunktionen kan du granska grupper på servernivå och databasnivå med händelser och händelser. Mer information finns i SQL Server-granskning (databasmotor). SQL Server.

Granskningar består av noll eller fler granskningsåtgärdsobjekt som registreras till ett granskningsmål. Granskningsmålet kan vara en binär fil, händelseloggen för Windows-programmet eller händelseloggen för Windows-säkerhet. Posterna som skickas till målet kan innehålla de element som beskrivs i följande tabell:

Kolumnnamn Description Typ Alltid tillgänglig
event_time Datum och tid när den granskningsbara åtgärden utlöses. datetime2 Yes
sequence_number Spårar sekvensen med poster i en enskild granskningspost som var för stor för att få plats i skrivbufferten för granskningar. Int Yes
action_id ID för åtgärden

Tips: Om du vill använda action_id som predikat måste den konverteras från en teckensträng till ett numeriskt värde. Mer information finns i Filtrera SQL Server-granskning på action_id/class_type predikat.
varchar(4) Yes
Lyckades Anger om åtgärden som utlöste händelsen lyckades. För alla andra händelser än inloggningshändelser rapporterar detta endast om behörighetskontrollen lyckades eller misslyckades, inte åtgärden.
- 1 = Lyckades
- 0 = Misslyckas
bit Yes
permission_bitmask I vissa åtgärder är detta de behörigheter som har beviljats, nekats eller återkallats. varbinary(16) Nej
is_column_permission Flagga som anger om detta är en behörighet på kolumnnivå. Returnerar 0 när permission_bitmask = 0.
- 1 = Sant
- 0 = Falskt
bit Nej
session_id ID för sessionen där händelsen inträffade. smallint Yes
server_principal_id ID för inloggningskontexten som åtgärden utförs i. Int Yes
database_principal_id ID för databasanvändarkontexten som åtgärden utförs i. Returnerar 0 om detta inte gäller. Till exempel en serveråtgärd. Int Nej
target_server_principal_id Serverhuvudnamn som åtgärden GRANT/DENY/REVOKE utförs på. Returnerar 0 om det inte är tillämpligt. Int Yes
target_database_principal_id Databasens huvudnamn åtgärden GRANT/DENY/REVOKE utförs på. Returnerar 0 om det inte är tillämpligt. Int Nej
object_id ID:t för den entitet som granskningen inträffade på. Detta omfattar följande:
serverobjekt
Databaser
databasobjekt
schemaobjekt
Returnerar 0 om entiteten är själva servern eller om granskningen inte utförs på objektnivå. Till exempel Autentisering.
Int Nej
class_type Den typ av granskningsbar entitet som granskningen sker på. varchar(2) Yes
session_server_principal_name Serverns huvudnamn för sessionen. sysname Yes
server_principal_name Aktuell inloggning. sysname Yes
server_principal_sid Aktuellt inloggnings-SID. varbinary(85) Yes
database_principal_name Aktuell användare. sysname Nej
target_server_principal_name Målinloggning för åtgärden. Returnerar NULL om det inte är tillämpligt. sysname Nej
target_server_principal_sid SID för målinloggningen. Returnerar NULL om det inte är tillämpligt. varbinary(85) Nej
target_database_principal_name Målanvändare för åtgärden. Returnerar NULL om det inte är tillämpligt. sysname Nej
server_instance_name Namnet på den serverinstans där granskningen inträffade. Standardserver\instansformat används. sysname Yes
database_name Databaskontexten där åtgärden inträffade. Nullbar. Returnerar NULL för granskningar som inträffar på servernivå. sysname Nej
schema_name Schemakontexten där åtgärden inträffade. sysname Nej
object_name Namnet på den entitet som granskningen inträffade på. Detta omfattar följande:
serverobjekt
Databaser
databasobjekt
schemaobjekt
Nullbar. Returnerar NULL om entiteten är själva servern eller om granskningen inte utförs på objektnivå. Till exempel Autentisering.
sysname Nej
uttalande TSQL-instruktion om den finns. Returnerar NULL om det inte är tillämpligt. nvarchar(4000) Nej
additional_information Unik information som endast gäller för en enskild händelse returneras som XML. Några granskningsbara åtgärder innehåller den här typen av information.

En nivå av TSQL-stack visas i XML-format för åtgärder som har TSQL-stacken associerad med dem. XML-formatet blir:
<tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>
Ram nest_level anger den aktuella kapslingsnivån för ramen. Modulnamnet representeras i tredelat format (database_name, schema_name och object_name). Modulnamnet parsas för att undkomma ogiltiga XML-tecken som '\<', '>', '/', . '_x' De kommer att bli förrymda som _xHHHH\_. HHHH står för den fyrsiffriga hexadecimala UCS-2-koden för tecknet
Nullbar. Returnerar NULL när det inte finns någon ytterligare information som rapporteras av händelsen.
nvarchar(4000) Nej
file_name Sökvägen och namnet på granskningsloggfilen som posten kom från. varchar(260) Yes
audit_file_offset Gäller endast för: SQL Server

Buffertförskjutningen i filen som innehåller granskningsposten.
bigint Nej
user_defined_event_id Gäller för: SQL Server 2012 (11.x) och senare, Azure SQL Database och SQL Managed Instance

Användardefinierat händelse-ID skickades som ett argument till sp_audit_writeNULL för systemhändelser (standard) och icke-zero för användardefinierad händelse. Mer information finns i sp_audit_write (Transact-SQL).
smallint Nej
user_defined_information Gäller för: SQL Server 2012 (11.x) och senare, Azure SQL Database och SQL Managed Instance

Används för att registrera eventuell extra information som användaren vill registrera i granskningsloggen med hjälp av den sp_audit_write lagrade proceduren.
nvarchar(4000) Nej
audit_schema_version Alltid 1 Int Yes
sequence_group_id Gäller endast för: SQL Server

Unik identifierare
varbinary(85) Nej
transaction_id Gäller endast för: SQL Server (från och med 2016)

Unik identifierare för att identifiera flera granskningshändelser i en transaktion
bigint Nej
client_ip Gäller för: Azure SQL Database + SQL Server (från och med 2017)

Käll-IP för klientprogrammet
nvarchar(128) Nej
application_name Gäller för: Azure SQL Database + SQL Server (från och med 2017)

Namnet på klientprogrammet som körde -instruktionen som orsakade granskningshändelsen
nvarchar(128) Nej
duration_milliseconds Gäller för: Azure SQL Database och SQL Managed Instance

Varaktighet för frågekörning i millisekunder
bigint Nej
response_rows Gäller för: Azure SQL Database och SQL Managed Instance

Antal rader som returneras i resultatuppsättningen.
bigint Nej
affected_rows Gäller endast för: Azure SQL Database

Antal rader som påverkas av instruktionen som körs.
bigint Nej
connection_id Gäller för: Azure SQL Database och SQL Managed Instance

ID för anslutningen på servern
GUID Nej
data_sensitivity_information Gäller endast för: Azure SQL Database

Informationstyper och känslighetsetiketter som returneras av den granskade frågan, baserat på de klassificerade kolumnerna i databasen. Läs mer om identifiering och klassificering av Azure SQL Database-data
nvarchar(4000) Nej
host_name Värdnamnet för klientanslutningen nvarchar(128) Nej
session_context Sessionskontextinformation för anslutningen nvarchar(4000) Nej
client_tls_version Gäller för: SQL Server 2022 och senare

TLS-versionsnummer som används av klientanslutningen
Int Nej
client_tls_version_name Gäller för: SQL Server 2022 och senare

TLS-versionsnamn som används av klientanslutningen
nvarchar(128) Nej
database_transaction_id Databastransaktionsidentifierare bigint Nej
ledger_start_sequence_number Gäller för: SQL Server 2022 och senare

Transaktionsboksstartsekvensnummer för transaktionsregisteråtgärder
bigint Nej
external_policy_permissions_checked Behörigheter för externa principer som kontrollerades under åtgärden nvarchar(4000) Nej

Anmärkningar

Vissa åtgärder fyller inte i en kolumns värde eftersom det kan vara icke tillämpligt för åtgärden.

SQL Server Audit lagrar 4 000 tecken data för teckenfält i en granskningspost. När additional_information - och instruktionsvärdena som returneras från en granskningsbar åtgärd returnerar mer än 4 000 tecken används kolumnen sequence_number för att skriva flera poster till granskningsrapporten för en enda granskningsåtgärd för att registrera dessa data. Processen är följande:

  • Instruktionskolumnen är uppdelad i 4 000 tecken.

  • SQL Server Audit skriver som den första raden för granskningsposten med partiella data. Alla andra fält dupliceras på varje rad.

  • Värdet sequence_number ökas.

  • Den här processen upprepas tills alla data registreras.

Du kan ansluta data genom att läsa raderna sekventiellt med hjälp av sequence_number-värdet och kolumnerna event_Time, action_id och session_id för att identifiera åtgärden.