sp_syspolicy_update_policy_category (Transact-SQL)

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Updates whether a policy category is set to mandate database subscriptions. If subscription is mandated, the policy category applies to all databases.

|Applies to: SQL Server ( SQL Server 2008 through current version).|

Topic link icon Transact-SQL Syntax Conventions


sp_syspolicy_update_policy_category { [ @name = ] 'name' | [ @policy_category_id = ] policy_category_id }  
    , [ @mandate_database_subscriptions = ] mandate_database_subscriptions ]  


[ @name= ] 'name'
Is the name of the policy category. name is sysname, and must be specified if policy_category_id is NULL.

[ @policy_category_id= ] policy_category_id
Is the identifier for the policy category. policy_category_id is int, and must be specified if name is NULL.

[ @mandate_database_subscriptions= ] mandate_database_subscriptions
Determines whether database subscription is mandated for the policy category. mandate_database_subscriptions is a bit value, with a default of NULL. You can use either of the following values:

  • 0 = Not mandated

  • 1 = Mandated

Return Code Values

0 (success) or 1 (failure)


You must run sp_syspolicy_update_policy_category in the context of the msdb system database.

You must specify a value for either name or for policy_category_id. Both cannot be NULL. To obtain these values, query the msdb.dbo.syspolicy_policy_categories system view.


Requires membership in the PolicyAdministratorRole fixed database role.


Possible elevation of credentials: Users in the PolicyAdministratorRole role can create server triggers and schedule policy executions that can affect the operation of the instance of the Database Engine. For example, users in the PolicyAdministratorRole role can create a policy that can prevent most objects from being created in the Database Engine. Because of this possible elevation of credentials, the PolicyAdministratorRole role should be granted only to users who are trusted with controlling the configuration of the Database Engine.


The following example updates the 'Finance' category to mandate database subscriptions.

EXEC msdb.dbo.sp_syspolicy_update_policy_category @name = N'Finance'  
, @mandate_database_subscriptions = 1;  


See Also

Policy-Based Management Stored Procedures (Transact-SQL)
sp_syspolicy_add_policy_category (Transact-SQL)
sp_syspolicy_delete_policy_category (Transact-SQL)
sp_syspolicy_rename_policy_category (Transact-SQL)