Share via


sp_syspolicy_update_policy_category_subscription (Transact-SQL)

適用対象:SQL Server

指定したデータベースのポリシー カテゴリ サブスクリプションを更新します。

Transact-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 (失敗)。

解説

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

@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;

アクセス許可

Policy管理istratorRole 固定データベース ロールのメンバーシップ必要です。

重要

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

次の例では、データベースがポリシー カテゴリをサブスクライブするように、既存の AdventureWorks2022 ポリシー カテゴリ サブスクリプションを Finance 更新します。

EXEC msdb.dbo.sp_syspolicy_update_policy_category_subscription
    @policy_category_subscription_id = 1,
    @target_object = 'AdventureWorks2022',
    @policy_category = 'Finance';
GO