Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Met de functie SQL Server-controle kunt u groepen gebeurtenissen en gebeurtenissen op serverniveau en databaseniveau controleren. Zie SQL Server Audit (Database Engine) voor meer informatie. SQL Server.
Controles bestaan uit nul of meer controleactie-items, die worden vastgelegd op een controledoel. Het controledoel kan een binair bestand, het windows-toepassingsgebeurtenislogboek of het Windows-beveiligingsgebeurtenislogboek zijn. De records die naar het doel worden verzonden, kunnen de elementen bevatten die in de volgende tabel worden beschreven:
| Kolomnaam | Description | Typologie | Altijd beschikbaar |
|---|---|---|---|
| event_time | Datum en tijd waarop de controleerbare actie wordt geactiveerd. | datetime2 | Yes |
| sequence_number | Houdt de reeks records in één controlerecord bij die te groot was om in de schrijfbuffer voor controles te passen. | Int | Yes |
| action_id | Id van de actie Tip: Als u action_id als predicaat wilt gebruiken, moet deze worden geconverteerd van een tekenreeks naar een numerieke waarde. Zie Sql Server-controle filteren op action_id/class_type predicaat voor meer informatie. |
varchar(4) | Yes |
| Geslaagd | Geeft aan of de actie die de gebeurtenis heeft geactiveerd, is geslaagd. Voor alle andere gebeurtenissen dan aanmeldingsgebeurtenissen wordt alleen gerapporteerd of de machtigingscontrole is geslaagd of mislukt, niet de bewerking. - 1 = Geslaagd - 0 = mislukt |
bit | Yes |
| permission_bitmask | In sommige acties zijn dit de machtigingen die zijn verleend, geweigerd of ingetrokken. | varbinary(16) | Nee. |
| is_column_permission | Vlag die aangeeft of dit een machtiging op kolomniveau is. Retourneert 0 wanneer de permission_bitmask = 0. - 1 = Waar - 0 = Onwaar |
bit | Nee. |
| session_id | Id van de sessie waarop de gebeurtenis heeft plaatsgevonden. | smallint | Yes |
| server_principal_id | Id van de aanmeldingscontext waarin de actie wordt uitgevoerd. | Int | Yes |
| database_principal_id | Id van de databasegebruikerscontext waarin de actie wordt uitgevoerd. Retourneert 0 als dit niet van toepassing is. Bijvoorbeeld een serverbewerking. | Int | Nee. |
| target_server_principal_id | Server-principal waarop de bewerking GRANT/DENY/REVOKE wordt uitgevoerd. Retourneert 0 indien niet van toepassing. | Int | Yes |
| target_database_principal_id | De database-principal waarop de bewerking GRANT/DENY/REVOKE wordt uitgevoerd. Retourneert 0 indien niet van toepassing. | Int | Nee. |
| object_id | De id van de entiteit waarop de controle heeft plaatsgevonden. Dit omvat de volgende: serverobjecten Databases databaseobjecten schemaobjecten Retourneert 0 als de entiteit de server zelf is of als de controle niet op objectniveau wordt uitgevoerd. Bijvoorbeeld verificatie. |
Int | Nee. |
| class_type | Het type controleerbare entiteit waarop de controle plaatsvindt. | varchar(2) | Yes |
| session_server_principal_name | Server-principal voor de sessie. | sysname | Yes |
| server_principal_name | Huidige aanmelding. | sysname | Yes |
| server_principal_sid | Huidige aanmeldings-SID. | varbinary(85) | Yes |
| database_principal_name | Huidige gebruiker. | sysname | Nee. |
| target_server_principal_name | Doelaanmelding van de actie. Retourneert NULL indien niet van toepassing. | sysname | Nee. |
| target_server_principal_sid | SID van de doelaanmelding. Retourneert NULL indien niet van toepassing. | varbinary(85) | Nee. |
| target_database_principal_name | Doelgebruiker van de actie. Retourneert NULL indien niet van toepassing. | sysname | Nee. |
| server_instance_name | Naam van het serverexemplaren waar de controle heeft plaatsgevonden. De standaardindeling van de server\instantie wordt gebruikt. | sysname | Yes |
| database_name | De databasecontext waarin de actie heeft plaatsgevonden. Nullable. Retourneert NULL voor controles die plaatsvinden op serverniveau. | sysname | Nee. |
| schema_name | De schemacontext waarin de actie heeft plaatsgevonden. | sysname | Nee. |
| object_name | De naam van de entiteit waarop de controle heeft plaatsgevonden. Dit omvat de volgende: serverobjecten Databases databaseobjecten schemaobjecten Nullable. Retourneert NULL als de entiteit de server zelf is of als de controle niet op objectniveau wordt uitgevoerd. Bijvoorbeeld verificatie. |
sysname | Nee. |
| verklaring | TSQL-instructie als deze bestaat. Retourneert NULL indien niet van toepassing. | nvarchar(4000) | Nee. |
| additional_information | Unieke informatie die alleen van toepassing is op één gebeurtenis, wordt geretourneerd als XML. Een paar controlebare acties bevatten dit soort informatie. Eén niveau van TSQL-stack wordt weergegeven in XML-indeling voor acties waaraan TSQL-stack is gekoppeld. De XML-indeling is: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Frame nest_level geeft het huidige nestniveau van het frame aan. De modulenaam wordt weergegeven in drie delen (database_name, schema_name en object_name). De modulenaam wordt geparseerd om ongeldige XML-tekens zoals '\<', '>', '/'. '_x' Ze zullen worden ontsnapt als _xHHHH\_. De HHHH staat voor de hexadecimale UCS-2-code van vier cijfers voor het tekenNullable. Retourneert NULL wanneer er geen aanvullende informatie is gerapporteerd door de gebeurtenis. |
nvarchar(4000) | Nee. |
| file_name | Het pad en de naam van het auditlogboekbestand waaruit de record afkomstig is. | varchar(260) | Yes |
| audit_file_offset |
Van toepassing op: alleen SQL Server De bufferverschil in het bestand dat de controlerecord bevat. |
bigint | Nee. |
| user_defined_event_id |
Van toepassing op: SQL Server 2012 (11.x) en hoger, Azure SQL Database en SQL Managed Instance Door de gebruiker gedefinieerde gebeurtenis-id is doorgegeven als argument voor sp_audit_writeNULL voor systeemgebeurtenissen (standaard) en niet-nul voor door de gebruiker gedefinieerde gebeurtenis. Zie sp_audit_write (Transact-SQL) voor meer informatie. |
smallint | Nee. |
| user_defined_information |
Van toepassing op: SQL Server 2012 (11.x) en hoger, Azure SQL Database en SQL Managed Instance Wordt gebruikt om extra informatie vast te leggen die de gebruiker wil opnemen in het auditlogboek met behulp van de sp_audit_write opgeslagen procedure. |
nvarchar(4000) | Nee. |
| audit_schema_version | Altijd 1 | Int | Yes |
| sequence_group_id |
Van toepassing op: alleen SQL Server Unieke id |
varbinary(85) | Nee. |
| transaction_id |
Van toepassing op: alleen SQL Server (vanaf 2016) Unieke id om meerdere controlegebeurtenissen in één transactie te identificeren |
bigint | Nee. |
| client_ip |
Van toepassing op: Azure SQL Database + SQL Server (vanaf 2017) Bron-IP van de clienttoepassing |
nvarchar(128) | Nee. |
| application_name |
Van toepassing op: Azure SQL Database + SQL Server (vanaf 2017) Naam van de clienttoepassing die de instructie heeft uitgevoerd die de controlegebeurtenis heeft veroorzaakt |
nvarchar(128) | Nee. |
| duration_milliseconds |
Van toepassing op: Azure SQL Database en SQL Managed Instance Uitvoeringsduur van query's in milliseconden |
bigint | Nee. |
| response_rows |
Van toepassing op: Azure SQL Database en SQL Managed Instance Het aantal rijen dat wordt geretourneerd in de resultatenset. |
bigint | Nee. |
| affected_rows |
Van toepassing op: alleen Azure SQL Database Het aantal rijen dat wordt beïnvloed door de instructie die is uitgevoerd. |
bigint | Nee. |
| connection_id |
Van toepassing op: Azure SQL Database en SQL Managed Instance Id van de verbinding op de server |
GUID | Nee. |
| data_sensitivity_information |
Van toepassing op: alleen Azure SQL Database Informatietypen en vertrouwelijkheidslabels die worden geretourneerd door de gecontroleerde query, op basis van de geclassificeerde kolommen in de database. Meer informatie over het detecteren en classificeren van Azure SQL Database-gegevens |
nvarchar(4000) | Nee. |
| host_name | Hostnaam van de clientverbinding | nvarchar(128) | Nee. |
| session_context | Sessiecontextinformatie voor de verbinding | nvarchar(4000) | Nee. |
| client_tls_version |
Van toepassing op: SQL Server 2022 en hoger TLS-versienummer dat wordt gebruikt door de clientverbinding |
Int | Nee. |
| client_tls_version_name |
Van toepassing op: SQL Server 2022 en hoger TLS-versienaam die wordt gebruikt door de clientverbinding |
nvarchar(128) | Nee. |
| database_transaction_id | Databasetransactie-id | bigint | Nee. |
| ledger_start_sequence_number |
Van toepassing op: SQL Server 2022 en hoger Grootboek startreeksnummer voor grootboekbewerkingen |
bigint | Nee. |
| external_policy_permissions_checked | Externe beleidsmachtigingen die tijdens de bewerking zijn gecontroleerd | nvarchar(4000) | Nee. |
Opmerkingen
Sommige acties vullen de waarde van een kolom niet in, omdat deze mogelijk niet van toepassing zijn op de actie.
SQL Server Audit slaat 4000 tekens aan gegevens op voor tekenvelden in een auditrecord. Wanneer de additional_information - en instructiewaarden die zijn geretourneerd door een controleerbare actie meer dan 4000 tekens retourneren, wordt de kolom sequence_number gebruikt om meerdere records naar het auditrapport te schrijven voor één controleactie om deze gegevens vast te leggen. Het proces is als volgt:
De instructiekolom is onderverdeeld in 4000 tekens.
SQL Server Audit schrijft als de eerste rij voor de auditrecord met de gedeeltelijke gegevens. Alle andere velden worden in elke rij gedupliceerd.
De sequence_number waarde wordt verhoogd.
Dit proces wordt herhaald totdat alle gegevens zijn vastgelegd.
U kunt de gegevens verbinden door de rijen opeenvolgend te lezen met behulp van de sequence_number-waarde en de kolommen event_Time, action_id en session_id om de actie te identificeren.
Verwante inhoud
- MAAK SERVERAUDIT (Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- DROP SERVER AUDIT (Transact-SQL)
- SERVERCONTROLESPECIFICATIE (Transact-SQL) maken
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- SPECIFICATIE VOOR DATABASECONTROLE MAKEN (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
- DATABASECONTROLESPECIFICATIE (Transact-SQL)
- ALTER AUTORISATIE (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- 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)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- sys.dm_audit_class_type_map (Transact-SQL)