Share via


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.

Themenlink (Symbol)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 aufweisen.

  • [ @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 aufweisen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Sie müssen sp_syspolicy_delete_policy_execution_history im Kontext der Systemdatenbank msdb 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.

SicherheitshinweisSicherheitshinweis

Mögliche Erweiterung der Anmeldeinformationen: Benutzer mit der Rolle PolicyAdministratorRole können Servertrigger erstellen und die Ausführung von Richtlinien planen. Dies kann sich auf die Arbeitsweise der Database Engine (Datenbankmodul)-Instanz auswirken. Ein Benutzer mit der Rolle PolicyAdministratorRole kann beispielsweise eine Richtlinie erstellen, durch die das Erstellen der meisten Objekte in Database Engine (Datenbankmodul) verhindert wird. Aufgrund dieser möglichen Erweiterung der Anmeldeinformationen sollte die Rolle PolicyAdministratorRole nur Benutzern gewährt werden, die hinsichtlich der Kontrolle der Konfiguration von Database Engine (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