다음을 통해 공유


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(실패).

설명

시스템 데이터베이스의 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 고정 데이터베이스 역할의 멤버 자격이 필요합니다.

Important

자격 증명 상승 가능: 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