Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Ändert ein Serverüberwachungsobjekt mithilfe der SQL Server Audit-Funktion. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine).
Transact-SQL-Syntaxkonventionen
Syntax
ALTER SERVER AUDIT audit_name
{
[ TO { { FILE ( <file_options> [ , ...n ] ) } | APPLICATION_LOG | SECURITY_LOG } | URL ]
[ WITH ( <audit_options> [ , ...n ] ) ]
[ WHERE <predicate_expression> ]
}
| REMOVE WHERE
| MODIFY NAME = new_audit_name
[ ; ]
<file_options>::=
{
FILEPATH = 'os_file_path'
| MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED }
| MAX_ROLLOVER_FILES = { integer | UNLIMITED }
| MAX_FILES = integer
| RESERVE_DISK_SPACE = { ON | OFF }
}
<audit_options>::=
{
QUEUE_DELAY = integer
| ON_FAILURE = { CONTINUE | SHUTDOWN | FAIL_OPERATION }
| STATE = = { ON | OFF }
}
<predicate_expression>::=
{
[ NOT ] <predicate_factor>
[ { AND | OR } [ NOT ] { <predicate_factor> } ]
[ , ...n ]
}
<predicate_factor>::=
event_field_name { = | < > | != | > | >= | < | <= } { number | 'string' }
Argumente
AN { FILE | APPLICATION_LOG | SICHERHEIT | URL }
Legt den Speicherort des Überwachungsziels fest. Die Optionen sind eine Binärdatei, das Windows-Anwendungsprotokoll oder das Windows-Sicherheitsprotokoll.
Wichtig
Die SQL-Überwachung funktioniert in Azure SQL Managed Instance auf Serverebene und speichert .xel-Dateien in Azure Blob Storage.
DATEIPFAD = 'os_file_path'
Der Pfad der Überwachungsliste. Der Dateiname wird auf der Grundlage des Überwachungsnamens und des Überwachungs-GUID generiert.
MAXSIZE = max_size
Gibt die maximale Größe an, die die Überwachungsdatei annehmen kann. Der max_size-Wert muss eine ganze Zahl gefolgt von MB, GB, , TBoder UNLIMITEDsein. Die Mindestgröße, die Sie für max_size angeben können , beträgt 2 MB und die maximale 2.147.483.647 TB. Wenn UNLIMITED angegeben ist, wächst die Datei, bis die Festplatte voll ist. Die Angabe eines Werts unter 2 MB führt zum MSG_MAXSIZE_TOO_SMALL Fehler. Der Standardwert ist UNLIMITED.
MAX_ROLLOVER_FILES = ganze Zahl | UNBEGRENZT
Gibt die maximale Anzahl der Dateien an, die im Dateisystem beibehalten werden. Wenn die Einstellung von MAX_ROLLOVER_FILES = 0gilt, wird keine Begrenzung für die Anzahl der erstellten Rollover-Dateien auferlegt. Der Standardwert ist 0. Der Maximalwert für die Anzahl der Dateien beträgt 2.147.483.647.
MAX_FILES = Ganzzahl
Gibt die maximale Anzahl von Überwachungsdateien an, die erstellt werden können. Wird nicht auf die erste Datei übertragen, wenn das Limit erreicht ist. Wenn der MAX_FILES Grenzwert erreicht ist, schlägt jede Aktion, die bewirkt, dass mehr Überwachungsereignisse generiert werden, mit einem Fehler fehl.
RESERVE_DISK_SPACE = { EIN | AUS }
Diese Option ordnet der Datei auf dem Datenträger den MAXSIZE-Wert zu. gilt nur, wenn MAXSIZE nicht gleich ist UNLIMITED. Der Standardwert ist OFF.
QUEUE_DELAY = Ganzzahl
Gibt den Zeitraum in Millisekunden an, der verstreichen kann, bevor die Verarbeitung von Überwachungsaktionen erzwungen wird. Der Wert 0 steht für eine synchrone Übermittlung. Der minimale festlegbare Abfrageverzögerungswert ist 1000 (1 Sekunde), was auch der Standardwert ist. Der maximale Wert beträgt 2.147.483.647 (2.147.483,647 Sekunden oder 24 Tage, 20 Stunden, 31 Minuten und 23,647 Sekunden). Wenn Sie eine ungültige Nummer angeben, erhalten Sie den Fehler MSG_INVALID_QUEUE_DELAY.
ON_FAILURE = { WEITER | ABSCHALTUNG | FAIL_OPERATION }
Gibt an, ob das Schreiben der Instanz zum Ziel fehlschlagen, fortsetzen oder stoppen sollte, wenn SQL Server nicht in das Audit-Log schreiben kann.
CONTINUE
SQL Server -Vorgänge werden fortgesetzt. Überwachungsdatensätze werden nicht beibehalten. Bei der Überwachung wird weiterhin versucht, Ereignisse zu protokollieren. Sie wird fortgesetzt, wenn die Fehlerbedingung aufgelöst wurde. Durch Auswählen der Continue-Option können unter Umständen nicht überwachte Aktivitäten ausgeführt werden, die gegen Ihre Sicherheitsrichtlinien verstoßen könnten. Verwenden Sie diese Option, wenn die weitere Verwendung von Datenbank-Engine wichtiger als die Beibehaltung einer vollständigen Überwachung ist.
SHUTDOWN
Erzwingt, dass die Instanz von SQL Server heruntergefahren wird, falls SQL Server aus irgendeinem Grund keine Daten in das Überwachungsziel schreiben kann. Die Anmeldung, bei der die ALTER-Anweisung ausgeführt wird, muss über die SHUTDOWN-Berechtigung in SQL Server verfügen. Das Herunterfahren wird auch dann fortgesetzt, wenn die SHUTDOWN-Berechtigung später von der ausführenden Anmeldung widerrufen wird. Wenn der Benutzer diese Berechtigung nicht hat, schlägt die Aussage fehl und das Audit wird nicht geändert. Verwenden Sie die Option, wenn ein Überwachungsfehler die Sicherheit oder die Integrität des Systems beeinträchtigen konnte. Weitere Informationen finden Sie unter SHUTDOWN.
FAIL_OPERATION
Datenbankaktionen schlagen fehl, wenn sie überwachte Ereignisse verursachen. Aktionen, die keine geprüften Ereignisse verursachen, können fortgesetzt werden, aber keine geprüften Ereignisse können auftreten. Bei der Überwachung wird weiterhin versucht, Ereignisse zu protokollieren. Sie wird fortgesetzt, wenn die Fehlerbedingung aufgelöst wurde. Verwenden Sie diese Option, wenn die Beibehaltung einer vollständigen Überwachung wichtiger als der Vollzugriff auf Datenbank-Engine ist.
ZUSTAND = { ON | FALSCH }
Aktiviert oder deaktiviert das Sammeln von Datensätzen durch die Überwachung. Die Änderung des Zustands eines laufenden Audits (von ON nach OFF) erzeugt einen Audit-Eintrag, der zeigt, dass die Prüfung gestoppt wurde, der Hauptverantwortliche, der die Prüfung gestoppt hat, und die Zeit, zu der die Prüfung gestoppt wurde.
NAME ÄNDERN = new_audit_name
Ändert den Namen der Überwachung. Kann mit keiner anderen Option verwendet werden.
predicate_expression
Gibt den Prädikatausdruck an, mit dessen Hilfe bestimmt wird, ob ein Ereignis verarbeitet werden muss. Prädikatausdrücke sind auf eine Länge von 3.000 Zeichen beschränkt, wodurch Zeichenfolgenargumente begrenzt werden.
event_field_name
Der Name des Ereignisfelds, das die Prädikatquelle identifiziert. Überwachungsfelder werden in sys.fn_get_audit_file beschrieben. Mit Ausnahme von file_name und audit_file_offset können alle Felder überwacht werden.
number
Jeder numerische Typ, einschließlich Dezimalzahl. Einschränkungen stellen der verfügbare physische Speicher oder eine Zahl dar, die zu groß ist, um als 64-Bit-Ganzzahl dargestellt werden zu können.
'string'
Entweder eine ANSI- oder Unicode-Zeichenfolge, die vom Prädikatvergleich verlangt wird. Für die Prädikatvergleichsfunktionen wird keine implizite Zeichenfolgentypkonvertierung ausgeführt. Das Weitergeben des falschen Typs führt zu einem Fehler
Bemerkungen
Sie müssen mindestens eine der TO, , oder MODIFY NAME Klauseln angeben, wenn Sie aufrufenALTER AUDITWITH.
Sie müssen den Status einer Überwachung auf OFF festlegen, um Änderungen an der Überwachung vornehmen zu können. Wenn ALTER AUDIT ausgeführt wird, wenn ein Audit mit anderen Optionen als STATE = OFFaktiviert ist, erhalten Sie eine Fehlermeldung MSG_NEED_AUDIT_DISABLED .
Sie können Überwachungsspezifikation hinzufügen, ändern und entfernen, ohne eine Überwachung beenden zu müssen.
Man kann die GUID eines Audits nicht mehr ändern, nachdem die Prüfung erstellt wurde.
ALTER SERVER AUDIT Die Anweisung kann nicht innerhalb einer Benutzertransaktion verwendet werden.
Berechtigungen
Um einen Server-Audit-Principal zu erstellen, zu ändern oder zu entfernen, muss man die Berechtigung ÄNDERN ANY SERVER AUDIT oder die CONTROL SERVER-Berechtigung haben.
Beispiele
A. Namen eines Server-Audits ändern
Im folgenden Beispiel wird der Name der Serverüberwachung HIPAA_Audit in HIPAA_Audit_Old geändert.
USE master;
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit
MODIFY NAME = HIPAA_Audit_Old;
GO
ALTER SERVER AUDIT HIPAA_Audit_Old
WITH (STATE = ON);
GO
B. Ändern eines Server-Audit-Ziels
Im folgenden Beispiel wird die Serverüberwachung namens HIPAA_Audit in ein Dateiziel geändert.
USE master;
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT HIPAA_Audit TO FILE (
FILEPATH = '\\SQLPROD_1\Audit\',
MAXSIZE = 1000 MB,
RESERVE_DISK_SPACE = OFF
)
WITH (
QUEUE_DELAY = 1000,
ON_FAILURE = CONTINUE
);
GO
ALTER SERVER AUDIT HIPAA_Audit
WITH (STATE = ON);
GO
C. Ändere eine Server-Audit WHERE-Klausel
Das folgende Beispiel modifiziert die Where-Klausel, die im Beispiel C von erstellt wurde CREATE SERVER AUDIT. Mit der neuen WHERE-Klausel wird nach dem benutzerdefinierten Ereignis gefiltert, falls dessen Wert 27 ist.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WHERE user_defined_event_id = 27;
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = ON);
GO
D: Entferne eine WHERE-Klausel
Das folgende Beispiel entfernt einen WHERE Klauselprädikat-Ausdruck.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
REMOVE WHERE;
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = ON);
GO
E. Umbenennung eines Server-Audits
Im folgenden Beispiel wird der Name der Serverüberwachung von FilterForSensitiveData in AuditDataAccess geändert.
ALTER SERVER AUDIT [FilterForSensitiveData]
WITH (STATE = OFF);
GO
ALTER SERVER AUDIT [FilterForSensitiveData]
MODIFY NAME = AuditDataAccess;
GO
ALTER SERVER AUDIT [AuditDataAccess]
WITH (STATE = ON);
GO
Transact-SQL Referenz
- DROP SERVER AUDIT (Transact-SQL)
- CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
- DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
- ALTER AUTHORIZATION (Transact-SQL)
Verwandte Inhalte
- 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 Audit-Spezifikation)
- sys.datenbankprüfspezifikationen (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- Erstellen einer Serverüberwachung und einer Serverüberwachungsspezifikation