sp_syspolicy_delete_policy_execution_history (Transact-SQL)
Löscht den Ausführungsverlauf für Richtlinien in der richtlinienbasierten Verwaltung. Sie können diese gespeicherte Prozedur verwenden, um den Ausführungsverlauf für eine bestimmte Richtlinie oder alle Richtlinien zu löschen und um den Ausführungsverlauf vor einem bestimmten Datum zu löschen.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version). |
Transact-SQL-Syntaxkonventionen
Syntax
sp_syspolicy_delete_policy_execution_history [ @policy_id = ] policy_id ]
[ , [ @oldest_date = ] 'oldest_date' ]
Argumente
[ @policy_id= ] policy_id
Der Bezeichner der Richtlinie, für die Sie den Ausführungsverlauf löschen möchten. policy_id ist vom Datentyp int und ist erforderlich. Kann den Wert NULL haben.[ @oldest_date= ] 'oldest_date'
Das am weitesten zurückliegende Datum, für das Sie den Richtlinienausführungsverlauf beibehalten möchten. Alle Ausführungsverläufe, die vor diesem Datum liegen, werden gelöscht. oldest_date ist vom Datentyp datetime und ist erforderlich. Kann den Wert NULL haben.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
Sie müssen sp_syspolicy_delete_policy_execution_history im Kontext der msdb-Systemdatenbank ausführen.
Sie können die folgende Abfrage verwenden, um Werte für policy_id abzurufen und um die Datumsangaben des Ausführungsverlaufs anzuzeigen:
SELECT a.name AS N'policy_name', b.policy_id, b.start_date, b.end_date
FROM msdb.dbo.syspolicy_policies AS a
INNER JOIN msdb.dbo.syspolicy_policy_execution_history AS b
ON a.policy_id = b.policy_id
Das folgende Verhalten wird angewendet, wenn Sie für einen oder beide Werte NULL angeben:
Um den gesamten Richtlinienausführungsverlauf zu löschen, geben Sie sowohl für policy_id als auch für oldest_date NULL an.
Um den gesamten Richtlinienausführungsverlauf für eine bestimmte Richtlinie zu löschen, geben Sie einen Richtlinienbezeichner für policy_id und NULL als oldest_date an.
Um den Richtlinienausführungsverlauf für alle Richtlinien vor einem bestimmten Datum zu löschen, geben Sie NULL für policy_id und für oldest_date ein Datum an.
Um den Richtlinienausführungsverlauf zu archivieren, können Sie im Objekt-Explorer das Protokoll zum Richtlinienverlauf öffnen und den Ausführungsverlauf in eine Datei exportieren. Um auf das Richtlinienverlaufsprotokoll zuzugreifen, erweitern Sie Verwaltung, klicken mit der rechten Maustaste auf Richtlinienverwaltung und klicken dann auf Verlauf anzeigen.
Berechtigungen
Erfordert die Mitgliedschaft in der festen Datenbankrolle PolicyAdministratorRole.
Sicherheitshinweis |
---|
Mögliche Erweiterung der Anmeldeinformationen: Benutzer mit der PolicyAdministratorRole können Servertrigger erstellen und die Ausführung von Richtlinien planen. Dies kann sich auf die Arbeitsweise der Datenbankmodul-Instanz auswirken.Ein Benutzer mit der PolicyAdministratorRole kann beispielsweise eine Richtlinie erstellen, durch die das Erstellen der meisten Objekte in Datenbankmodul verhindert wird.Aufgrund dieser möglichen Erweiterung der Anmeldeinformationen sollte die PolicyAdministratorRole nur Benutzern gewährt werden, die hinsichtlich der Kontrolle der Konfiguration von Datenbankmodul vertrauenswürdig sind. |
Beispiele
Im folgenden Beispiel wird der Richtlinienausführungsverlauf vor einem bestimmten Datum für eine Richtlinie mit der ID 7 gelöscht.
EXEC msdb.dbo.sp_syspolicy_delete_policy_execution_history @policy_id = 7
, @oldest_date = '2009-02-16 16:00:00.000';
GO
Siehe auch
Verweis
Gespeicherte Prozeduren für die richtlinienbasierte Verwaltung (Transact-SQL)