SQL Server Audit (Datenbank-Engine)SQL Server Audit (Database Engine)

GILT FÜR: jaSQL Server jaAzure SQL-Datenbank (nur verwaltete Instanz) neinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

DieÜberwachung einer Instanz von SQL Server-Datenbank-EngineSQL Server Database Engine oder einer einzelnen Datenbank umfasst die Nachverfolgung und Protokollierung von Ereignissen, die in Datenbank-EngineDatabase Engineauftreten.Auditing an instance of the SQL Server-Datenbank-EngineSQL Server Database Engine or an individual database involves tracking and logging events that occur on the Datenbank-EngineDatabase Engine. Mithilfe von SQL ServerSQL Server Audit können Serverüberwachungen erstellt werden, die Serverüberwachungsspezifikationen für Ereignisse auf Serverebene sowie Datenbank-Überwachungsspezifikationen für Ereignisse auf Datenbankebene beinhalten können. SQL ServerSQL Server audit lets you create server audits, which can contain server audit specifications for server level events, and database audit specifications for database level events. Überwachte Ereignisse können in die Ereignisprotokolle oder Überwachungsdateien geschrieben werden.Audited events can be written to the event logs or to audit files.

Wichtig

Auf der verwalteten Azure SQL-Datenbank-Instanz weist dieses T-SQL-Feature bestimmte Behavior Changes auf.On Azure SQL Database Managed Instance, this T-SQL feature has certain behavior changes. Weitere Informationen zu sämtlichen Behavior Changes bei der T-SQL-Funktion finden Sie unter T-SQL-Unterschiede zwischen einer verwalteten Azure SQL-Datenbank-Instanz und SQL Server.See Azure SQL Database Managed Instance T-SQL differences from SQL Server for details for all T-SQL behavior changes.

Es gibt mehrere Überwachungsebenen für SQL ServerSQL Server, die von gesetzlichen oder standardspezifischen Anforderungen für die Installation abhängig sind.There are several levels of auditing for SQL ServerSQL Server, depending on government or standards requirements for your installation. SQL ServerSQL Server Audit enthält die Tools und Prozesse, die Sie zum Aktivieren, Speichern und Anzeigen von Überwachungen auf verschiedenen Server- und Datenbankobjekten benötigen.Audit provides the tools and processes you must have to enable, store, and view audits on various server and database objects.

Bei Servern können Sie Überwachungsaktionsgruppen instanzweise aufzeichnen, bei Datenbanken entweder Überwachungsaktionsgruppen oder Überwachungsaktionen jeweils pro Datenbank.You can record server audit action groups per-instance, and either database audit action groups or database audit actions per database. Das Überwachungsereignis tritt jedes Mal auf, wenn die überwachbare Aktion erkannt wird.The audit event will occur every time that the auditable action is encountered.

Alle Editionen von SQL ServerSQL Server unterstützen Überwachungen auf Serverebene.All editions of SQL ServerSQL Server support server level audits. Alle Editionen ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1 unterstützen Überwachungen auf Datenbankebene.All editions support database level audits beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x) SP1. Zuvor war die Überwachung auf Datenbankebene auf die Editionen Enterprise, Developer und Evaluation beschränkt.Prior to that, database level auditing was limited to Enterprise, Developer, and Evaluation editions. Weitere Informationen finden Sie unter Von den SQL Server 2016-Editionen unterstützte Funktionen.For more information, see Features Supported by the Editions of SQL Server 2016.

Hinweis

Dieses Thema gilt für SQL ServerSQL Server.This topic applies to SQL ServerSQL Server. Für SQL-DatenbankSQL Databasefinden Sie Informationen unter Erste Schritte mit SQL-Datenbanküberwachung.For SQL-DatenbankSQL Database, see Get started with SQL database auditing.

SQL Server Audit-KomponentenSQL Server Audit Components

Eine Überwachung besteht aus mehreren Elementen, die in einem einzelnen Paket für eine bestimmte Gruppe von Server- oder Datenbankaktionen zusammengefasst werden.An audit is the combination of several elements into a single package for a specific group of server actions or database actions. Die Komponenten von SQL ServerSQL Server Audit geben zusammen eine Ausgabe aus, die als Überwachung bezeichnet wird, ebenso wie durch die Kombination von Berichtsdefinitionen mit Grafiken und Datenelementen ein Bericht erstellt wird.The components of SQL ServerSQL Server audit combine to produce an output that is called an audit, just as a report definition combined with graphics and data elements produces a report.

Die SQL ServerSQL Server -Überwachung verwendet erweiterte Ereignisse , um eine Überwachung zu erstellen. SQL ServerSQL Server audit uses Extended Events to help create an audit. Weitere Informationen zu erweiterten Ereignissen finden Sie unter erweiterte Ereignisse.For more information about Extended Events, see Extended Events.

SQL Server AuditSQL Server Audit

Das SQL Server Audit -Objekt listet eine einzelne Instanz an Aktionen oder Aktionsgruppen auf Server- oder Datenbankebene auf, die überwacht werden soll.The SQL Server Audit object collects a single instance of server or database-level actions and groups of actions to monitor. Die Überwachung wird auf SQL ServerSQL Server -Instanzebene ausgeführt.The audit is at the SQL ServerSQL Server instance level. Es können mehrere Überwachungen pro SQL ServerSQL Server -Instanz vorliegen.You can have multiple audits per SQL ServerSQL Server instance.

Wenn Sie eine Überwachung definieren, geben Sie den Speicherort für die Ausgabe der Ergebnisse an.When you define an audit, you specify the location for the output of the results. Dies ist das Überwachungsziel.This is the audit destination. Die Überwachung wird in einem disabled Zustand erstellt und überwacht Aktionen nicht automatisch.The audit is created in a disabled state, and does not automatically audit any actions. Nachdem die Überwachung aktiviert wurde, empfängt das Überwachungsziel Daten von der Überwachung.After the audit is enabled, the audit destination receives data from the audit.

ServerüberwachungsspezifikationServer Audit Specification

Das Serverüberwachungsspezifikation -Objekt gehört zu einer Überwachung.The Server Audit Specification object belongs to an audit. Sie können eine Serverüberwachungsspezifikation pro Überwachung erstellen, da beide im SQL ServerSQL Server -Instanzbereich erstellt werden.You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope.

Die Serverüberwachungsspezifikation listet viele Aktionsgruppen auf Serverebene auf, die von erweiterten Ereignissen ausgelöst werden.The server audit specification collects many server-level action groups raised by the Extended Events feature. Sie können Überwachungsaktionsgruppen in eine Serverüberwachungsspezifikation einschließen.You can include audit action groups in a server audit specification. Überwachungsaktionsgruppen sind vorab definierte Gruppen von Aktionen, bei denen es sich um unteilbare Ereignisse handelt, die in Datenbank-EngineDatabase Enginestattfinden.Audit action groups are predefined groups of actions, which are atomic events occurring in the Datenbank-EngineDatabase Engine. Diese Aktionen werden an die Überwachung gesendet, die sie im Ziel aufzeichnet.These actions are sent to the audit, which records them in the target.

Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen werden im Thema SQL Server Audit-Aktionsgruppen und -Aktionenbeschrieben.Server-level audit action groups are described in the topic SQL Server Audit Action Groups and Actions.

Datenbank-ÜberwachungsspezifikationDatabase Audit Specification

Das Datenbank-Überwachungsspezifikation -Objekt gehört ebenfalls zu SQL ServerSQL Server Audit.The Database Audit Specification object also belongs to a SQL ServerSQL Server audit. Sie können eine Datenbank-Überwachungsspezifikation pro SQL ServerSQL Server -Datenbank und pro Überwachung erstellen.You can create one database audit specification per SQL ServerSQL Server database per audit.

Die Datenbank-Überwachungsspezifikation listet viele Überwachungsaktionen auf Datenbankebene auf, die von erweiterten Ereignissen ausgelöst werden.The database audit specification collects database-level audit actions raised by the Extended Events feature. Sie können einer Datenbank-Überwachungsspezifikation Überwachungsaktionsgruppen oder Überwachungsereignisse hinzufügen.You can add either audit action groups or audit events to a database audit specification. Überwachungsereignisse sind die unteilbaren Aktionen, die von der SQL ServerSQL Server-Engine überwacht werden können.Audit events are the atomic actions that can be audited by the SQL ServerSQL Server engine. Überwachungsaktionsgruppen sind vorab definierte Aktionsgruppen.Audit action groups are predefined groups of actions. Beide befinden sich im SQL ServerSQL Server -Datenbankbereich.Both are at the SQL ServerSQL Server database scope. Diese Aktionen werden an die Überwachung gesendet, die sie im Ziel aufzeichnet.These actions are sent to the audit, which records them in the target. Beziehen Sie in einer Benutzerdatenbank-Überwachungsspezifikation keine Objekte mit Serverbereich ein, wie Systemsichten.Do not include server-scoped objects, such as the system views, in a user database audit specification.

Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen werden im Thema SQL Server Audit-Aktionsgruppen und -Aktionenbeschrieben.Database-level audit action groups and audit actions are described in the topic SQL Server Audit Action Groups and Actions.

ZielTarget

Die Ergebnisse einer Überwachung werden an ein Ziel gesendet, wobei es sich um eine Datei, das Windows-Sicherheitsereignisprotokoll oder das Windows-Anwendungsereignisprotokoll handelt.The results of an audit are sent to a target, which can be a file, the Windows Security event log, or the Windows Application event log. Protokolle müssen regelmäßig überprüft und archiviert werden, um sicherzustellen, dass das Ziel über ausreichend Platz verfügt, um zusätzliche Datensätze anzulegen.Logs must be reviewed and archived periodically to make sure that the target has sufficient space to write additional records.

Wichtig

Jeder authentifizierte Benutzer kann das Windows-Anwendungsereignisprotokoll lesen und Datensätze darin schreiben.Any authenticated user can read and write to the Windows Application event log. Für das Anwendungsereignisprotokoll sind niedrigere Berechtigungen als für das Windows-Sicherheitsereignisprotokoll erforderlich, daher ist es jedoch auch weniger sicher als das Windows-Sicherheitsereignisprotokoll.The Application event log requires lower permissions than the Windows Security event log and is less secure than the Windows Security event log.

Wenn Sie einen Datensatz im Windows-Sicherheitsprotokoll schreiben möchten, muss das SQL ServerSQL Server -Dienstkonto der Richtlinie Generieren von Sicherheitsüberwachungen hinzugefügt werden.Writing to the Windows Security log requires the SQL ServerSQL Server service account to be added to the Generate security audits policy. Standardmäßig sind das lokale System, der lokale Dienst und der Netzwerkdienst ein Teil dieser Richtlinie.By default, the Local System, Local Service, and Network Service are part of this policy. Diese Einstellung kann mit dem Sicherheitsrichtlinien-Snap-In (secpol.msc) konfiguriert werden.This setting can be configured by using the security policy snap-in (secpol.msc). Darüber hinaus muss die Sicherheitsrichtlinie Objektzugriffsversuche überwachen sowohl für Erfolg als auch für Fehleraktiviert sein.Additionally, the Audit object access security policy must be enabled for both Success and Failure. Diese Einstellung kann mit dem Sicherheitsrichtlinien-Snap-In (secpol.msc) konfiguriert werden.This setting can be configured by using the security policy snap-in (secpol.msc). In Windows VistaWindows Vista oder Windows Server 2008 können Sie die automatisch generierte Richtlinie mit feinerer Granularität über die Befehlszeile mit dem Überwachungsrichtlinienprogramm (AuditPol.exe) festlegen.In Windows VistaWindows Vista or Windows Server 2008, you can set the more granular application generated policy from the command line by using the audit policy program (AuditPol.exe). Weitere Informationen zu den Schritten zum Aktivieren des Schreibens in das Windows-Sicherheitsprotokoll finden Sie unter Schreiben von SQL-Serverüberwachungsereignissen in das Sicherheitsprotokoll.For more information about the steps to enable writing to the Windows Security log, see Write SQL Server Audit Events to the Security Log. Weitere Informationen über das Programm Auditpol.exe finden Sie im Knowledge Base-Artikel 921469, How to use Group Policy to configure detailed security auditing(in englischer Sprache).For more information about the Auditpol.exe program, see Knowledge Base article 921469, How to use Group Policy to configure detailed security auditing. Die Windows-Ereignisprotokolle gelten global für das Windows-Betriebssystem.The Windows event logs are global to the Windows operating system. Weitere Informationen zu den Windows-Ereignisprotokollen finden Sie unter Ereignisanzeige (Übersicht).For more information about the Windows event logs, see Event Viewer Overview. Wenn Sie präzisere Berechtigungen für die Überwachung benötigen, verwenden Sie das Binärdateiziel.If you need more precise permissions on the audit, use the binary file target.

Um beim Speichern von Überwachungsinformationen in eine Datei Manipulationen zu verhindern, können Sie den Zugriff auf deren Speicherort auf folgende Weise einschränken:When you are saving audit information to a file, to help prevent tampering, you can restrict access to the file location in the following ways:

  • Das SQL ServerSQL Server -Dienstkonto muss über Lese- und Schreibberechtigungen verfügen.The SQL ServerSQL Server Service Account must have both Read and Write permission.

  • Für Überwachungsadministratoren sind in der Regel Lese- und Schreibberechtigungen erforderlich.Audit Administrators typically require Read and Write permission. Dabei wird angenommen, dass Überwachungsadministratoren Windows-Konten für die Verwaltung von Überwachungsdateien (u. a. das Kopieren der Dateien auf andere Freigaben und das Erstellen von Sicherungen) darstellen.This assumes that the Audit Administrators are Windows accounts for administration of audit files, such as: copying them to different shares, backing them up, and so on.

  • Für das Lesen von Überwachungsdateien autorisierte Überwachungsleser müssen über eine Leseberechtigung verfügen.Audit Readers that are authorized to read audit files must have Read permission.

    Selbst wenn Datenbank-EngineDatabase Engine Daten in eine Datei schreibt, können andere Windows-Benutzer mit entsprechender Berechtigung die Überwachungsdatei lesen.Even when the Datenbank-EngineDatabase Engine is writing to a file, other Windows users can read the audit file if they have permission. Datenbank-EngineDatabase Engine lässt eine exklusive Sperre, die Lesevorgänge verhindert, nicht zu.The Datenbank-EngineDatabase Engine does not take an exclusive lock that prevents read operations.

    Da Datenbank-EngineDatabase Engine auf die Datei zugreifen kann, können SQL ServerSQL Server -Anmeldungen mit CONTROL SERVER-Berechtigungen über Datenbank-EngineDatabase Engine auf Überwachungsdateien zugreifen.Because the Datenbank-EngineDatabase Engine can access the file, SQL ServerSQL Server logins that have CONTROL SERVER permission can use the Datenbank-EngineDatabase Engine to access the audit files. Um alle Benutzer aufzuzeichnen, die die Überwachungsdatei lesen, definieren Sie eine Überwachung in master.sys.fn_get_audit_file.To record any user that is reading the audit file, define an audit on master.sys.fn_get_audit_file. Dadurch werden die Anmeldenamen von Benutzern mit CONTROL SERVER-Berechtigung aufgezeichnet, die über SQL ServerSQL Serverauf die Überwachungsdatei zugegriffen haben.This records the logins with CONTROL SERVER permission that have accessed the audit file through SQL ServerSQL Server.

    Wenn ein Überwachungsadministrator die Datei an einen anderen Ort kopiert (zur Archivierung usw.), sollten die ACLs am neuen Ort auf die folgenden Berechtigungen beschränkt werden:If an Audit Administrator copies the file to a different location (for archive purposes, and so on), the ACLs on the new location should be reduced to the following permissions:

  • Überwachungsadministrator – Lesen/SchreibenAudit Administrator - Read / Write

  • Überwachungsleser – LesenAudit Reader - Read

    Es wird empfohlen, Überwachungsberichte auf einer separaten Instanz von SQL ServerSQL Serverzu erstellen, z.B. einer Instanz von SQL Server ExpressSQL Server Express, auf die nur Überwachungsadministratoren und -leser Zugriff haben.We recommend that you generate audit reports from a separate instance of SQL ServerSQL Server, such as an instance of SQL Server ExpressSQL Server Express, to which only Audit Administrators or Audit Readers have access. Durch Verwenden einer separaten Instanz von Datenbank-EngineDatabase Engine zur Berichterstellung können Sie dazu beitragen, unautorisierte Benutzer am Zugriff auf die Überwachungsdatei zu hindern.By using a separate instance of the Datenbank-EngineDatabase Engine for reporting, you can help prevent unauthorized users from obtaining access to the audit record.

    Zusätzlichen Schutz gegen unautorisierten Zugriff erhalten Sie, indem Sie den Ordner mit der Überwachungsdatei mit der Windows-BitLocker-Laufwerksverschlüsselung oder dem verschlüsselnden Dateisystem von Windows verschlüsseln.You can offer additional protection against unauthorized access by encrypting the folder in which the audit file is stored by using Windows BitLocker Drive Encryption or Windows Encrypting File System.

    Weitere Informationen zu den Überwachungsdatensätzen, die in das Ziel geschrieben werden, finden Sie unter SQL Server Audit-Datensätze.For more information about the audit records that are written to the target, see SQL Server Audit Records.

Übersicht über die Verwendung von SQL Server AuditOverview of Using SQL Server Audit

Sie können SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQL verwenden, um eine Überwachung zu definieren.You can use SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL to define an audit. Nachdem die Überwachung erstellt und aktiviert wurde, empfängt das Ziel die Einträge.After the audit is created and enabled, the target will receive entries.

Sie können die Windows-Ereignisprotokolle mit dem Windows-Hilfsprogramm Ereignisanzeige lesen.You can read the Windows event logs by using the Event Viewer utility in Windows. Bei Dateizielen können Sie zum Lesen der Zieldatei entweder den Protokolldatei-Viewer in SQL Server Management StudioSQL Server Management Studio oder die fn_get_audit_file -Funktion verwenden.For file targets, you can use either the Log File Viewer in SQL Server Management StudioSQL Server Management Studio or the fn_get_audit_file function to read the target file.

Im Allgemeinen wird eine Überwachung folgendermaßen erstellt und verwendet:The general process for creating and using an audit is as follows.

  1. Erstellen Sie eine Überwachung, und definieren Sie das Ziel.Create an audit and define the target.

  2. Erstellen Sie eine Serverüberwachungsspezifikation oder eine Datenbank-Überwachungsspezifikation, die der Überwachung zugeordnet wird.Create either a server audit specification or database audit specification that maps to the audit. Aktivieren Sie die Überwachungsspezifikation.Enable the audit specification.

  3. Aktivieren Sie die Überwachung.Enable the audit.

  4. Lesen Sie die Überwachungsereignisse mit der Windows- Ereignisanzeige, dem Protokolldatei-Vieweroder der fn_get_audit_file-Funktion.Read the audit events by using the Windows Event Viewer, Log File Viewer, or the fn_get_audit_file function.

    Weitere Informationen zur Überwachung finden Sie unter Erstellen einer Serverüberwachung und einer Serverüberwachungsspezifikation sowie Erstellen einer Server- und Datenbank-Überwachungsspezifikation.For more information, see Create a Server Audit and Server Audit Specification and Create a Server Audit and Database Audit Specification.

Weitere ÜberlegungenConsiderations

Wenn während der Überwachungseinleitung ein Fehler auftritt, wird der Server nicht gestartet.In the case of a failure during audit initiation, the server will not start. In diesem Fall kann der Server gestartet werden, indem Sie in die Befehlszeile die Option -f eingeben.In this case, the server can be started by using the -f option at the command line.

Wenn aufgrund eines Überwachungsfehlers der Server heruntergefahren wird oder nicht startet, da für die Überwachung ON_FAILURE=SHUTDOWN festgelegt wurde, wird das Ereignis MSG_AUDIT_FORCED_SHUTDOWN in das Protokoll geschrieben.When an audit failure causes the server to shut down or not to start because ON_FAILURE=SHUTDOWN is specified for the audit, the MSG_AUDIT_FORCED_SHUTDOWN event will be written to the log. Da der Server schon beim ersten Auftreten dieser Einstellung heruntergefahren wird, wird das Ereignis nur einmal im Protokoll aufgezeichnet.Because the shutdown will occur on the first encounter of this setting, the event will be written one time. Das Ereignis wird erst nach der Fehlermeldung für die Überwachung, die das Herunterfahren verursacht, geschrieben.This event is written after the failure message for the audit causing the shutdown. Ein Administrator kann ein durch eine Überwachung verursachtes Herunterfahren umgehen, indem er SQL ServerSQL Server mit dem Flag -m im Einzelbenutzermodus startet.An administrator can bypass audit-induced shutdowns by starting SQL ServerSQL Server in Single User mode using the -m flag. Wenn Sie sich im Einzelbenutzermodus anmelden, wird jede Überwachung herabgestuft, für die festgelegt wurde, dass ON_FAILURE=SHUTDOWN in dieser Sitzung als ON_FAILURE=CONTINUE ausgeführt wird.If you start in Single User mode, you will downgrade any audit where ON_FAILURE=SHUTDOWN is specified to run in that session as ON_FAILURE=CONTINUE. Wenn SQL ServerSQL Server mit dem Flag -m gestartet wird, wird die Meldung MSG_AUDIT_SHUTDOWN_BYPASSED im Fehlerprotokoll aufgezeichnet.When SQL ServerSQL Server is started by using the -m flag, the MSG_AUDIT_SHUTDOWN_BYPASSED message will be written to the error log.

Weitere Informationen zu Dienststartoptionen finden Sie unter Startoptionen für den Datenbank-Engine-Dienst.For more information about service startup options, see Database Engine Service Startup Options.

Anfügen einer Datenbank mit einer definierten ÜberwachungAttaching a Database with an Audit Defined

Wenn Sie eine Datenbank anfügen, für die eine Überwachungsspezifikation festgelegt wurde und die eine GUID bestimmt, die sich nicht auf dem Server befindet, entsteht eine verwaiste Überwachungsspezifikation.Attaching a database that has an audit specification and specifies a GUID that does not exist on the server will cause an orphaned audit specification. Da eine Überwachung mit einer entsprechenden GUID nicht auf der Serverinstanz vorliegt, werden keine Überwachungsereignisse aufgezeichnet.Because an audit with a matching GUID does not exist on the server instance, no audit events will be recorded. Verwenden Sie den Befehl ALTER DATABASE AUDIT SPECIFICATION, um die verwaiste Überwachungsspezifikation mit einer vorhandenen Serverüberwachung zu verbinden und somit den Fehler zu beheben.To correct this situation, use the ALTER DATABASE AUDIT SPECIFICATION command to connect the orphaned audit specification to an existing server audit. Oder verwenden Sie den Befehl CREATE SERVER AUDIT, um eine neue Serverüberwachung mit der angegebenen GUID zu erstellen.Or, use the CREATE SERVER AUDIT command to create a new server audit with the specified GUID.

Sie können eine Datenbank, für die eine Überwachungsspezifikation angegeben wurde, an eine andere Edition von SQL ServerSQL Server anfügen, die SQL ServerSQL Server Audit nicht unterstützt, z. B. SQL Server ExpressSQL Server Express . Überwachungsereignisse werden jedoch nicht aufgezeichnet.You can attach a database that has an audit specification defined on it to another edition of SQL ServerSQL Server that does not support SQL ServerSQL Server audit, such as SQL Server ExpressSQL Server Express but it will not record audit events.

Datenbankspiegelung und SQL Server AuditDatabase Mirroring and SQL Server Audit

Eine Datenbank, für die eine Datenbank-Überwachungsspezifikation definiert wurde und für die Datenbankspiegelung verwendet wird, enthält die Datenbank-Überwachungsspezifikation.A database that has a database audit specification defined and that uses database mirroring will include the database audit specification. Die folgenden Elemente müssen konfiguriert werden, damit sie auf der gespiegelten SQL-Instanz ordnungsgemäß arbeitet:To work correctly on the mirrored SQL instance, the following items must be configured:

  • Der Spiegelserver muss über eine Überwachung mit der gleichen GUID verfügen, damit die Datenbank-Überwachungsspezifikation Überwachungsdatensätze schreiben kann.The mirror server must have an audit with the same GUID to enable the database audit specification to write audit records. Diese Einstellung können Sie mit dem Befehl CREATE AUDIT WITH GUID*=***<GUID der Quellserverüberwachung> konfigurieren.This can be configured by using the command CREATE AUDIT WITH GUID*=***<GUID from source Server Audit>.

  • Bei Binärdateizielen muss das Dienstkonto des Spiegelservers über die erforderlichen Berechtigungen für den Speicherort verfügen, an den der Überwachungspfad geschrieben wird.For binary file targets, the mirror server service account must have appropriate permissions to the location where the audit trail is being written.

  • Bei Windows-Ereignisprotokollzielen muss die Sicherheitsrichtlinie für den Computer, auf dem sich der Spiegelserver befindet, den Dienstkontozugriff auf das Sicherheits- oder Anwendungsereignisprotokoll zulassen.For Windows event log targets, the security policy on the computer where the mirror server is located must allow for service account access to the security or application event log.

Überwachen von AdministratorenAuditing Administrators

Mitglieder der festen Serverrolle sysadmin werden in jeder Datenbank als dbo -Benutzer identifiziert.Members of the sysadmin fixed server role are identified as the dbo user in each database. Um die Aktionen der Administratoren zu überwachen, verfolgen Sie also die Aktionen des dbo -Benutzers.To audit actions of the administrators, audit the actions of the dbo user.

Erstellen und Verwalten von Überwachungen mit Transact-SQLCreating and Managing Audits with Transact-SQL

Sie können DDL-Anweisungen, dynamische Verwaltungssichten und -funktionen sowie Katalogsichten verwenden, um alle Aspekte von SQL ServerSQL Server Audit zu implementieren.You can use DDL statements, dynamic management views and functions, and catalog views to implement all aspects of SQL ServerSQL Server Audit.

DDL-Anweisungen (Data Definition Language, Datendefinitionssprache)Data Definition Language Statements

Sie können die folgenden DDL-Anweisungen zum Erstellen, Ändern und Löschen von Überwachungsspezifikationen verwenden:You can use the following DDL statements to create, alter, and drop audit specifications:

ALTER AUTHORIZATIONALTER AUTHORIZATION CREATE SERVER AUDITCREATE SERVER AUDIT
ALTER DATABASE AUDIT SPECIFICATIONALTER DATABASE AUDIT SPECIFICATION CREATE SERVER AUDIT SPECIFICATIONCREATE SERVER AUDIT SPECIFICATION
ALTER SERVER AUDITALTER SERVER AUDIT DROP DATABASE AUDIT SPECIFICATIONDROP DATABASE AUDIT SPECIFICATION
ALTER SERVER AUDIT SPECIFICATIONALTER SERVER AUDIT SPECIFICATION DROP SERVER AUDITDROP SERVER AUDIT
CREATE DATABASE AUDIT SPECIFICATIONCREATE DATABASE AUDIT SPECIFICATION DROP SERVER AUDIT SPECIFICATIONDROP SERVER AUDIT SPECIFICATION

Dynamische Sichten und FunktionenDynamic Views and Functions

In der folgenden Tabelle werden die dynamischen Sichten und Funktion aufgelistet, die Sie für eine SQL ServerSQL Server -Überwachung verwenden können.The following table lists the dynamic views and function that you can use for SQL ServerSQL Server Auditing.

Dynamische Sichten und FunktionenDynamic views and functions und BeschreibungDescription
sys.dm_audit_actionssys.dm_audit_actions Gibt eine Zeile für jede Überwachungsaktion zurück, die im Überwachungsprotokoll festgehalten werden kann, und für jede Überwachungsaktionsgruppe, die als Teil von SQL ServerSQL Server Audit konfiguriert werden kann.Returns a row for every audit action that can be reported in the audit log and every audit action group that can be configured as part of SQL ServerSQL Server Audit.
sys.dm_server_audit_statussys.dm_server_audit_status Stellt Informationen über den aktuellen Status der Überwachung bereit.Provides information about the current state of the audit.
sys.dm_audit_class_type_mapsys.dm_audit_class_type_map Gibt eine Tabelle zurück, die das Feld class_type im Überwachungsprotokoll dem Feld class_desc in sys.dm_audit_actions zuordnet.Returns a table that maps the class_type field in the audit log to the class_desc field in sys.dm_audit_actions.
fn_get_audit_filefn_get_audit_file Gibt Informationen von einer Überwachungsdatei zurück, die von einer Serverüberwachung erstellt wurde.Returns information from an audit file created by a server audit.

KatalogsichtenCatalog Views

In der folgenden Tabelle werden die Katalogsichten aufgeführt, die Sie für die SQL ServerSQL Server -Überwachung verwenden können.The following table lists the catalog views that you can use for SQL ServerSQL Server auditing.

KatalogsichtenCatalog views und BeschreibungDescription
sys.database_ audit_specificationssys.database_ audit_specifications Enthält Informationen über die Datenbanküberwachungsspezifikationen in einer SQL ServerSQL Server -Überwachung auf einer Serverinstanz.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.database_audit_specification_detailssys.database_audit_specification_details Enthält Informationen über die Datenbank-Überwachungsspezifikationen in einer SQL ServerSQL Server -Überwachung auf einer Serverinstanz für alle Datenbanken.Contains information about the database audit specifications in a SQL ServerSQL Server audit on a server instance for all databases.
sys.server_auditssys.server_audits Enthält eine Zeile für jede SQL ServerSQL Server -Überwachung in einer Serverinstanz.Contains one row for each SQL ServerSQL Server audit in a server instance.
sys.server_audit_specificationssys.server_audit_specifications Enthält Informationen über die Serverüberwachungsspezifikationen in einer SQL ServerSQL Server -Überwachung auf einer Serverinstanz.Contains information about the server audit specifications in a SQL ServerSQL Server audit on a server instance.
sys.server_audit_specifications_detailssys.server_audit_specifications_details Enthält Informationen über Details der Serverüberwachungsspezifikation (Aktionen) in einer SQL ServerSQL Server -Überwachung auf einer Serverinstanz.Contains information about the server audit specification details (actions) in a SQL ServerSQL Server audit on a server instance.
sys.server_file_auditssys.server_file_audits Enthält erweiterte Informationen über den Dateiüberwachungstyp in einer SQL ServerSQL Server -Überwachung auf einer Serverinstanz.Contains stores extended information about the file audit type in a SQL ServerSQL Server audit on a server instance.

BerechtigungenPermissions

Jede Funktion und jeder Befehl für SQL ServerSQL Server Audit hat eigene Berechtigungsanforderungen.Each feature and command for SQL ServerSQL Server Audit has individual permission requirements.

Um eine Serverüberwachung oder eine Serverüberwachungsspezifikation zu erstellen, zu ändern oder zu löschen, muss für Serverüberwachungsprinzipale die Berechtigung ALTER ANY SERVER AUDIT oder CONTROL SERVER festgelegt werden.To create, alter, or drop a Server Audit or Server Audit Specification, server principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission. Um eine Datenbank-Überwachungsspezifikation zu erstellen, zu ändern oder zu löschen, muss für Datenbankprinzipale die Berechtigung ALTER ANY DATABASE AUDIT, ALTER oder CONTROL in der Datenbank festgelegt werden.To create, alter, or drop a Database Audit Specification, database principals require the ALTER ANY DATABASE AUDIT permission or the ALTER or CONTROL permission on the database. Zusätzlich benötigen Prinzipale die Berechtigung zum Herstellen einer Verbindung mit der Datenbank bzw. die Berechtigung ALTER ANY SERVER AUDIT oder CONTROL SERVER.In addition, principals must have permission to connect to the database, or ALTER ANY SERVER AUDIT or CONTROL SERVER permissions.

Die Berechtigung VIEW ANY DEFINITION ermöglicht die Anzeige der Überwachungssichten auf Serverebene, VIEW DEFINITION dagegen die Anzeige der Überwachungssichten auf Datenbankebene.The VIEW ANY DEFINITION permission provides access to view the server level audit views and VIEW DEFINITION provides access to view the database level audit views. Ohne diese Berechtigungen können keine Katalogsichten angezeigt werden, selbst wenn der Prinzipal über die Berechtigung ALTER ANY SERVER AUDIT oder ALTER ANY DATABASE AUDIT verfügt.Denial of these permissions, overrides the ability to view the catalog views, even if the principal has the ALTER ANY SERVER AUDIT or ALTER ANY DATABASE AUDIT permissions.

Weitere Informationen über das Gewähren von Rechten und Berechtigungen finden Sie unter GRANT (Transact-SQL).For more information about how to grant rights and permissions, see GRANT (Transact-SQL).

Achtung

Prinzipale in der Rolle sysadmin können die Überwachungskomponenten manipulieren; Prinzipale in der Rolle db_owner können Überwachungsspezifikationen in einer Datenbank bearbeiten.Principals in the sysadmin role can tamper with any audit component and those in the db_owner role can tamper with audit specifications in a database. Die SQL ServerSQL Server -Überwachung überprüft, dass bei der Anmeldung, bei der eine Überwachungsspezifikation erstellt oder geändert wird, mindestens die Berechtigung ALTER ANY DATABASE AUDIT vorliegt. SQL ServerSQL Server Audit will validate that a logon that creates or alters an audit specification has at least the ALTER ANY DATABASE AUDIT permission. Es wird jedoch keine Überprüfung durchgeführt, wenn Sie eine Datenbank anfügen.However, it does no validation when you attach a database. Gehen Sie davon aus, dass alle Datenbank-Überwachungsspezifikationen nur so vertrauenswürdig sind wie die Prinzipale in der Rolle sysadmin oder db_owner.You should assume all Database Audit Specifications are only as trustworthy as those principals in the sysadmin or db_owner role.

Erstellen einer Serverüberwachung und einer ServerüberwachungsspezifikationCreate a Server Audit and Server Audit Specification

Erstellen einer Server- und Datenbank-ÜberwachungsspezifikationCreate a Server Audit and Database Audit Specification

Anzeigen eines SQL Server-ÜberwachungsprotokollsView a SQL Server Audit Log

Schreiben von SQL-Serverüberwachungsereignissen in das SicherheitsprotokollWrite SQL Server Audit Events to the Security Log

Servereigenschaften (Seite „Sicherheit“)Server Properties (Security Page)
Erklärt, wie die Anmeldeüberwachung für SQL ServerSQL Serveraktiviert wird.Explains how to turn on login auditing for SQL ServerSQL Server. Die Überwachungsdatensätze werden im Windows-Anwendungsprotokoll gespeichert.The audit records are stored in the Windows application log.

C2-Überwachungsmodus (Serverkonfigurationsoption)c2 audit mode Server Configuration Option
Erläutert den C2-Sicherheitskompatibilitäts-Überwachungsmodus in SQL ServerSQL Server.Explains the C2 security compliance auditing mode in SQL ServerSQL Server.

Sicherheitsüberwachung-Ereigniskategorie (SQL Server Profiler)Security Audit Event Category (SQL Server Profiler)
Erklärt die Überwachungsereignisse, die Sie in SQL Server ProfilerSQL Server Profilerverwenden können.Explains the audit events you can use in SQL Server ProfilerSQL Server Profiler. Weitere Informationen finden Sie unter SQL Server Profiler.For more information, see SQL Server Profiler.

SQL-AblaufverfolgungSQL Trace
Erläutert, wie Sie die SQL-Ablaufverfolgung aus Ihren Anwendungen heraus verwenden können, um Ablaufverfolgungen manuell statt mit dem SQL ServerSQL Server Profiler zu erstellen.Explains how SQL Trace can be used from within your own applications to create traces manually, instead of using SQL ServerSQL Server Profiler.

DDL-TriggerDDL Triggers
Erklärt, wie Sie DDL-Trigger (Data Definition Language) zum Nachverfolgen von Änderungen an den Datenbanken verwenden können.Explains how you can use Data Definition Language (DDL) triggers to track changes to your databases.

Microsoft TechNet: SQL Server-TechCenter: SQL Server 2005 – Sicherheit und SchutzMicrosoft TechNet: SQL Server TechCenter: SQL Server 2005 Security and Protection
Stellt aktuelle Informationen zur SQL ServerSQL Server -Sicherheit bereit.Provides up-to-date information about SQL ServerSQL Server security.

Weitere Informationen finden Sie unterSee Also

SQL Server Überwachung-Aktionsgruppen und -Aktionen SQL Server Audit Action Groups and Actions
SQL Server-ÜberwachungsdatensätzeSQL Server Audit Records