Erstellen einer Server- und Datenbank-Überwachungsspezifikation
In diesem Thema wird beschrieben, wie eine Serverüberwachung und Datenbanküberwachungsspezifikation in SQL Server 2012 mithilfe von SQL Server Management Studio oder Transact-SQLerstellt wird.
Bei der Überwachung einer Instanz von SQL Server oder einer SQL Server-Datenbank werden Ereignisse im System verfolgt und protokolliert. Das SQL Server Audit-Objekt listet eine einzelne Instanz an Aktionen oder Aktionsgruppen auf Server- oder Datenbankebene auf, die überwacht werden soll. Die Überwachung wird auf SQL Server-Instanzebene ausgeführt. Es können mehrere Überwachungen pro SQL Server-Instanz vorliegen. Das Objekt für die Überwachungsspezifikation auf Datenbankebene gehört ebenfalls zu einer Überwachung. Sie können eine Datenbank-Überwachungsspezifikation pro SQL Server-Datenbank und pro Überwachung erstellen. Weitere Informationen finden Sie unter SQL Server Audit (Datenbankmodul).
In diesem Thema
Vorbereitungen:
Einschränkungen
Sicherheit
So erstellen Sie eine Server- und Datenbank-Überwachungsspezifikation mit
SQL Server Management Studio
Transact-SQL
Vorbereitungen
Einschränkungen
Datenbank-Überwachungsspezifikationen sind nicht sicherungsfähige Objekte, die sich in einer gegebenen Datenbank befinden. Wenn eine Datenbank-Überwachungsspezifikation erstellt wird, befindet sich diese in einem deaktivierten Zustand.
Wenn Sie in einer Benutzerdatenbank eine Datenbank-Überwachungsspezifikation erstellen oder ändern, sollten Sie keine Überwachungsaktionen für Serverbereichsobjekte einschließen, z. B. die Systemsichten. Wenn Objekte mit Serverbereich eingeschlossen sind, wird die Überwachung zwar erstellt. Die Objekte mit Serverbereich sind jedoch nicht enthalten, und es wird kein Fehler zurückgegeben. Verwenden Sie eine Datenbank-Überwachungsspezifikation in der master-Datenbank, um Objekte mit Serverbereich zu überwachen.
Die Datenbank-Überwachungsspezifikationen befinden sich in der Datenbank, in der sie erstellt werden, mit Ausnahme der Systemdatenbank tempdb.
Sicherheit
Berechtigungen
Benutzer mit der ALTER ANY DATABASE AUDIT-Berechtigung können Datenbank-Überwachungsspezifikationen erstellen und sie an eine beliebige Überwachung binden.
Nachdem eine Datenbank-Überwachungsspezifikation erstellt wurde, kann diese von Prinzipalen mit den Berechtigungen CONTROL SERVER, ALTER ANY DATABASE AUDIT oder von Prinzipalen mit Zugriff auf das sysadmin-Konto angezeigt werden.
[Top]
Verwendung von SQL Server Management Studio
So erstellen Sie eine Serverüberwachung
Erweitern Sie im Objekt-Explorer den Ordner Sicherheit.
Klicken Sie mit der rechten Maustaste auf den Ordner Überwachungen, und wählen Sie dann Neue Überwachung aus. Weitere Informationen finden Sie unter Erstellen einer Serverüberwachung und einer Serverüberwachungsspezifikation.
Nachdem Sie alle Optionen ausgewählt haben, klicken Sie auf OK.
So erstellen Sie eine Überwachungsspezifikation auf Datenbankebene
Erweitern Sie im Objekt-Explorer die Datenbank, in der Sie eine Überwachungsspezifikation erstellen möchten.
Erweitern Sie den Ordner Sicherheit.
Klicken Sie mit der rechten Maustaste auf den Ordner Datenbank-Überwachungsspezifikationen und dann auf Neue Datenbank-Überwachungsspezifikation.
Die folgenden Optionen sind im Dialogfeld Datenbank-Überwachungsspezifikation erstellen verfügbar.
Name
Der Name der Datenbank-Überwachungsspezifikation. Er wird automatisch generiert, wenn Sie eine neue Serverüberwachungsspezifikation erstellen, er kann jedoch bearbeitet werden.Überwachung
Der Name einer vorhandenen Datenbanküberwachung. Geben Sie den Namen der Überwachung ein, oder wählen Sie ihn aus der Liste aus.Überwachungsaktionstyp
Gibt die aufzuzeichnenden Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen an. Eine Liste der Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen sowie eine Beschreibung der darin enthaltenen Ereignisse finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.Objektschema
Zeigt das Schema für den angegebenen Objektnamen an.Objektname
Der Name des zu überwachenden Objekts. Das Objekt ist nur für Überwachungsaktionen verfügbar, es gilt nicht für Überwachungsgruppen.Auslassungspunkte (…)
Öffnet das Dialogfeld Objekte auswählen, in dem Sie anhand des angegebenen Überwachungsaktionstyps nach einem verfügbaren Objekt suchen und es auswählen können.Prinzipalname
Das Konto, anhand dessen die Überwachung für das zu überwachende Objekt gefiltert wird.Auslassungspunkte (…)
Öffnet das Dialogfeld Objekte auswählen, in dem Sie nach einem verfügbaren Objekt anhand des angegebenen Objektnamens suchen und es auswählen können.
Nachdem Sie alle Optionen ausgewählt haben, klicken Sie auf OK.
[Top]
Verwendung von Transact-SQL
So erstellen Sie eine Serverüberwachung
Stellen Sie im Objekt-Explorer eine Verbindung zu einer Instanz von Database Engine (Datenbankmodul) her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE master ; GO -- Create the server audit. CREATE SERVER AUDIT Payrole_Security_Audit TO FILE ( FILEPATH = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA' ) ; GO -- Enable the server audit. ALTER SERVER AUDIT Payrole_Security_Audit WITH (STATE = ON) ;
So erstellen Sie eine Überwachungsspezifikation auf Datenbankebene
Stellen Sie im Objekt-Explorer eine Verbindung zu einer Instanz von Database Engine (Datenbankmodul) her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. Im folgenden Beispiel wird die Serverüberwachung mit dem Namen Audit_Pay_Tables, in der die SELECT- und INSERT-Anweisungen des dbo-Benutzers überwacht werden, für die HumanResources.EmployeePayHistory-Tabelle anhand der obigen Serverüberwachung erstellt.
USE AdventureWorks2012 ; GO -- Create the database audit specification. CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables FOR SERVER AUDIT Payrole_Security_Audit ADD (SELECT , INSERT ON HumanResources.EmployeePayHistory BY dbo ) WITH (STATE = ON) ; GO
Weitere Informationen finden Sie unter CREATE SERVER AUDIT (Transact-SQL) und CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).
[Top]