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 角色的成员身份。

另请参阅

使用基于策略的管理来管理服务器
基于策略的管理视图 (Transact-SQL)