syspolicy_policies (Transact-SQL)

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