sp_syspolicy_update_policy_category_subscription (Transact-SQL)
適用対象: SQL サーバー
指定したデータベースのポリシー カテゴリ サブスクリプションを更新します。
構文
sp_syspolicy_update_policy_category_subscription
[ @policy_category_subscription_id = ] policy_category_subscription_id
[ , [ @target_type = ] N'target_type' ]
[ , [ @target_object = ] N'target_object' ]
, [ @policy_category = ] N'policy_category'
[ ; ]
引数
[ @policy_category_subscription_id = ] policy_category_subscription_id
更新するポリシー カテゴリ サブスクリプションの識別子。 @policy_category_subscription_id は int で、必須です。
[ @target_type = ] N'target_type'
カテゴリ サブスクリプションのターゲットの種類。 @target_type は sysname で、既定値は NULL
です。
@target_typeを指定する場合は、値を DATABASE
に設定する必要があります。
[ @target_object = ] N'target_object'
ポリシー カテゴリをサブスクライブするデータベースの名前。 @target_object は sysname で、既定値は NULL
です。
[ @policy_category = ] N'policy_category'
データベースをサブスクライブするポリシー カテゴリの名前。 @policy_category は sysname で、既定値は NULL
です。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
msdb
システム データベースのコンテキストでsp_syspolicy_update_policy_category_subscription
を実行する必要があります。
@policy_category_subscription_idと@policy_categoryの値を取得するには、次のクエリを使用できます。
SELECT a.policy_category_subscription_id,
a.target_type,
a.target_object,
b.name AS policy_category
FROM msdb.dbo.syspolicy_policy_category_subscriptions AS a
INNER JOIN msdb.dbo.syspolicy_policy_categories AS b
ON a.policy_category_id = b.policy_category_id;
アクセス許可
PolicyAdministratorRole 固定データベース ロールのメンバーシップが必要です。
重要
資格情報の昇格の可能性: PolicyAdministratorRole ロールのユーザーは、サーバー トリガーを作成し、データベース エンジンのインスタンスの操作に影響を与える可能性があるポリシーの実行をスケジュールできます。 たとえば、PolicyAdministratorRole ロールのユーザーは、ほとんどのオブジェクトがデータベース エンジンで作成されないようにできるポリシーを作成できます。 この資格情報が昇格される可能性があるため、PolicyAdministratorRole ロールは、データベース エンジンの構成の制御に信頼されているユーザーにのみ付与する必要があります。
例
次の例では、 AdventureWorks2022
データベースが Finance
ポリシー カテゴリをサブスクライブするように、既存のポリシー カテゴリ サブスクリプションを更新します。
EXEC msdb.dbo.sp_syspolicy_update_policy_category_subscription
@policy_category_subscription_id = 1,
@target_object = 'AdventureWorks2022',
@policy_category = 'Finance';
GO