sp_syspolicy_delete_policy_execution_history (Transact-SQL)
Gilt für: SQL Server
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.
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 int und erforderlich. Kann NULL
sein.
[ @oldest_date = ] 'oldest_date'
Das älteste 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 "datetime" und ist erforderlich. Kann NULL
sein.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
Sie müssen im Kontext der msdb
Systemdatenbank ausgeführt werdensp_syspolicy_delete_policy_execution_history
.
Zum Abrufen von Werten für @policy_id und zum Anzeigen des Ausführungsverlaufsdatums können Sie die folgende Abfrage verwenden:
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 gilt, wenn Sie für einen oder beide Werte angeben NULL
:
Um den gesamten Richtlinienausführungsverlauf zu löschen, geben Sie
NULL
für @policy_id und für @oldest_date an.Um den gesamten Richtlinienausführungsverlauf für eine bestimmte Richtlinie zu löschen, geben Sie einen Richtlinienbezeichner für @policy_id an, und geben Sie als @oldest_date an
NULL
.Um den Richtlinienausführungsverlauf für alle Richtlinien vor einem bestimmten Datum zu löschen, geben Sie für @policy_id an, und geben Sie
NULL
ein Datum für @oldest_date an.
Zum Archivieren des Richtlinienausführungsverlaufs können Sie das Richtlinienverlaufsprotokoll in Objekt-Explorer öffnen und den Ausführungsverlauf in eine Datei exportieren. Um auf das Richtlinienverlaufsprotokoll zuzugreifen, erweitern Sie "Verwaltung", klicken Sie mit der rechten Maustaste auf "Richtlinienverwaltung", und wählen Sie dann "Verlauf anzeigen" aus.
Berechtigungen
Erfordert die Mitgliedschaft in der festen Datenbankrolle "PolicyAdministratorRole ".
Wichtig
Mögliche Rechteerweiterung von Anmeldeinformationen: Benutzer in der Rolle "PolicyAdministratorRole" können Servertrigger erstellen und Richtlinienausführungen planen, die sich auf den Vorgang der Instanz der Datenbank-Engine auswirken können. Benutzer in der Rolle "PolicyAdministratorRole" können beispielsweise eine Richtlinie erstellen, die verhindert, dass die meisten Objekte im Datenbank-Engine erstellt werden. Aufgrund dieser möglichen Erhöhung von Anmeldeinformationen sollte die Rolle "PolicyAdministratorRole" nur Benutzern gewährt werden, die mit der Steuerung der Konfiguration der Datenbank-Engine vertraut sind.
Beispiele
Im folgenden Beispiel wird der Richtlinienausführungsverlauf vor einem bestimmten Datum für eine Richtlinie mit einer ID von 7
gelöscht.
EXEC msdb.dbo.sp_syspolicy_delete_policy_execution_history
@policy_id = 7,
@oldest_date = '2019-02-16 16:00:00.000';
GO