Compartilhar via


sp_syspolicy_update_policy_category_subscription (Transact-SQL)

Aplica-se a: SQL Server

Atualiza uma assinatura de categoria de política para um banco de dados especificado.

Convenções de sintaxe de Transact-SQL

Sintaxe

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'
[ ; ]

Argumentos

@policy_category_subscription_id [ = ] policy_category_subscription_id

O identificador da assinatura de categoria de política que você deseja atualizar. @policy_category_subscription_id é int e é necessário.

@target_type [ = ] N'target_type'

O tipo de destino da assinatura de categoria. @target_type é sysname, com um padrão de NULL.

Se você especificar @target_type, o valor deverá ser definido como DATABASE.

@target_object [ = ] N'target_object'

O nome do banco de dados que assinará a categoria de política. @target_object é sysname, com um padrão de NULL.

@policy_category [ = ] N'policy_category'

O nome da categoria de política que você deseja que o banco de dados assine. @policy_category é sysname, com um padrão de NULL.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

Você deve executar sp_syspolicy_update_policy_category_subscription no contexto do banco de dados do msdb sistema.

Para obter valores para @policy_category_subscription_id e para @policy_category, você pode usar a seguinte consulta:

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;

Permissões

Requer associação na função de banco de dados fixa PolicyAdministratorRole .

Importante

Possível elevação de credenciais: os usuários na função PolicyAdministratorRole podem criar gatilhos de servidor e agendar execuções de política que podem afetar a operação da instância do Mecanismo de Banco de Dados. Por exemplo, os usuários na função PolicyAdministratorRole podem criar uma política que pode impedir que a maioria dos objetos seja criada no Mecanismo de Banco de Dados. Devido a essa possível elevação de credenciais, a função PolicyAdministratorRole deve ser concedida somente a usuários confiáveis para controlar a configuração do Mecanismo de Banco de Dados.

Exemplos

O exemplo a seguir atualiza uma assinatura de categoria de política existente para que o AdventureWorks2022 banco de dados assine a categoria de Finance política.

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