syspolicy_policies (Transact-SQL)
适用范围:SQL Server
为 SQL Server 实例中的每个基于策略的管理策略显示一行。 syspolicy_policies 属于 msdb 数据库中的 dbo 架构。 下表介绍了 syspolicy_policies 视图中的列。
列名称 | 数据类型 | 描述 |
---|---|---|
policy_id | int | 策略标识符。 |
name | sysname | 策略的名称。 |
condition_id | int | 此策略强制设定或测试的条件的 ID。 |
root_condition_id | int | 仅限内部使用。 |
date_created | datetime | 策略的创建日期和时间。 |
execution_mode | int | 策略的评估模式。 可能的值如下所示: 0 = 按需 当此模式由用户直接指定时,将对策略进行评估。 1 = 更改时: 禁止 这种自动模式使用 DDL 触发器来防止违反策略。 2 = 更改时: 仅记录 当发生相关更改时,这种自动模式使用事件通知对策略进行评估,并记录违反策略的情况。 4 = 按计划 这种自动模式使用 SQL Server 代理作业定期对策略进行评估。 此模式记录违反策略的情况。 注意:值 3 不是可能的值。 |
policy_category | int | 此策略所属的基于策略的管理策略类别的 ID。 如果是默认策略组,则为 NULL。 |
schedule_uid | uniqueidentifier | 如果 execution_mode 为“按计划”,则包含计划的 ID,否则为 NULL。 |
description | nvarchar(max) | 策略说明。 说明列是可选的,可以为 NULL。 |
help_text | nvarchar(4000) | 属于 help_link 的超链接文本。 |
help_link | nvarchar(2083) | 策略创建者分配给该策略的其他帮助超链接。 |
object_set_id | int | 该策略评估的对象集的 ID。 |
is_enabled | bit | 指示当前是启用 (1) 还是禁用 (0) 了策略。 |
job_id | uniqueidentifier | 当execution_mode按计划时,包含运行策略的SQL Server 代理作业的 ID。 |
created_by | sysname | 创建策略的登录名。 |
modified_by | sysname | 最近修改策略的登录名。 如果从未进行修改,则为 NULL。 |
date_modified | datetime | 策略的创建日期和时间。 如果从未进行修改,则为 NULL。 |
注解
对基于策略的管理进行故障排除时,请查询 syspolicy_conditions 视图以确定策略是否已启用。 此视图还会显示创建或上次更改策略的用户。
权限
要求具有 msdb 数据库中 PolicyAdministratorRole 角色的成员身份。