次の方法で共有


sp_syspolicy_delete_policy_execution_history (Transact-SQL)

ポリシー ベースの管理のポリシーの実行履歴を削除します。 このストアド プロシージャを使用して、特定のポリシーまたはすべてのポリシーの実行履歴、および特定の日付までの実行履歴を削除できます。

適用対象:SQL Server (SQL Server 2008 から現在のバージョン)。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

sp_syspolicy_delete_policy_execution_history [ @policy_id = ] policy_id ]
    [ , [ @oldest_date = ] 'oldest_date' ]

引数

  • [ @policy_id= ] policy_id
    実行履歴を削除するポリシーの識別子を指定します。 policy_id のデータ型は int で、必ず指定する必要があります。 NULL 値は許可されます。

  • [ @oldest_date= ] 'oldest_date'
    ポリシーの実行履歴を保持する最も古い日付を指定します。 この日付よりも前の実行履歴は削除されます。 oldest_date のデータ型は datetime で、必ず指定する必要があります。 NULL 値は許可されます。

リターン コードの値

0 (成功) または 1 (失敗)

説明

msdb システム データベースのコンテキストでは、sp_syspolicy_delete_policy_execution_history を実行する必要があります。

policy_id の値を取得し、実行履歴の日付を表示するには、次のクエリを使用します。

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

次の動作は、1 つまたは両方の値に NULL を指定した場合に適用されます。

  • ポリシーの実行履歴をすべて削除するには、policy_id と oldest_date の両方に NULL を指定します。

  • 特定のポリシーの実行履歴をすべて削除するには、policy_id にポリシー ID を指定し、oldest_date に NULL を指定します。

  • 特定の日付より前のすべてのポリシーの実行履歴を削除するには、policy_id に NULL を指定し、oldest_date に特定の日付を指定します。

ポリシーの実行履歴をアーカイブするには、オブジェクト エクスプローラーでポリシー履歴ログを開いて、実行履歴をファイルにエクスポートします。 ポリシー履歴ログにアクセスするには、[管理] を展開し、[ポリシー管理] を右クリックして、[履歴の表示] をクリックします。

権限

PolicyAdministratorRole 固定データベース ロールのメンバーシップが必要です。

セキュリティに関する注意セキュリティに関する注意

資格情報が昇格される可能性について: PolicyAdministratorRole ロールに割り当てられているユーザーは、サーバー トリガーを作成して、データベース エンジン インスタンスの動作に影響する可能性があるポリシーの実行をスケジュールできます。たとえば、PolicyAdministratorRole ロールに割り当てられているユーザーは、ほとんどのオブジェクトがデータベース エンジンで作成されないようにすることができるポリシーを作成できます。このように、資格情報が昇格される可能性があるので、PolicyAdministratorRole ロールは、データベース エンジンの構成の制御について信頼できるユーザーにのみ許可してください。

使用例

次の例では、ID が 7 のポリシーについて特定の日付より前のポリシーの実行履歴を削除します。

EXEC msdb.dbo.sp_syspolicy_delete_policy_execution_history @policy_id = 7
, @oldest_date = '2009-02-16 16:00:00.000';

GO

関連項目

参照

ポリシー ベースの管理ストアド プロシージャ (Transact-SQL)

sp_syspolicy_set_config_history_retention (Transact-SQL)

sp_syspolicy_purge_history (Transact-SQL)