sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Dotyczy:SQL Server

Usuwa historię wykonywania polityk w zarządzaniu opartym na politykach. Możesz użyć tej procedury przechowywanej do usunięcia historii wykonania dla konkretnej polityki lub wszystkich polityk, a także do usunięcia historii wykonywania przed określoną datą.

Transact-SQL konwencje składni

Składnia

dbo.sp_syspolicy_delete_policy_execution_history
    [ @policy_id = ] policy_id
    , [ @oldest_date = ] oldest_date
[ ; ]

Arguments

[ @policy_id = ] policy_id

Identyfikator polityki, dla której chcesz usunąć historię wykonania. @policy_id jest int i jest wymagany. Może to być NULL.

[ @oldest_date = ] oldest_date

Najstarsza data, dla której chcesz przechowywać historię realizacji polityki. Wszelka historia egzekucji sprzed tej daty jest usuwana. @oldest_date jest datetime i jest obowiązkowy. Może to być NULL.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Remarks

Musisz działać sp_syspolicy_delete_policy_execution_history w kontekście bazy msdb danych systemu.

Aby uzyskać wartości @policy_id oraz zobaczyć daty historii wykonania, możesz użyć następującego zapytania:

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;

Następujące zachowanie ma zastosowanie, jeśli podasz NULL jedną lub obie wartości:

  • Aby usunąć całą historię wykonywania polityk, określ NULL zarówno @policy_id , jak i @oldest_date.

  • Aby usunąć całą historię wykonywania polityk dla konkretnej polityki, należy określić identyfikator polityki dla @policy_id i określić NULL jako @oldest_date.

  • Aby usunąć historię wykonywania polityk dla wszystkich polityk sprzed określonej daty, określ NULL@policy_id oraz datę @oldest_date.

Aby zarchiwizować historię wykonywania polityk, możesz otworzyć log historii polityk w Eksplorator obiektów i wyeksportować historię wykonania do pliku. Aby uzyskać dostęp do logu Historii Polityk, rozwiń Zarządzanie, kliknij prawym przyciskiem Zarządzanie Politykami, a następnie wybierz Wyświetlaj historię.

Permissions

Wymaga członkostwa w stałej roli bazy danych PolicyAdministratorRole .

Important

Możliwe podniesienie danych uwierzytelniających: Użytkownicy w roli PolicyAdministratorRole mogą tworzyć wyzwalacze serwera i planować wykonywanie polityk, które mogą wpływać na działanie instancji silnika bazy danych. Na przykład użytkownicy w roli PolicyAdministratorRole mogą stworzyć politykę, która uniemożliwi tworzenie większości obiektów w silniku bazy danych. Ze względu na możliwe podwyższenie liczby poświadczeń, rola PolicyAdministratorRole powinna być przyznawana wyłącznie użytkownikom, którym powierza się kontrola konfiguracji silnika bazy danych.

Examples

Poniższy przykład usuwa historię wykonywania polityki przed określoną datą dla polityki o ID .7

EXECUTE msdb.dbo.sp_syspolicy_delete_policy_execution_history
    @policy_id = 7,
    @oldest_date = '2019-02-16 16:00:00.000';
GO