DBASK-数据库管理员结构化知识体系-Structured knowledge system for DataBase Administrators

Home

syscomments

表、视图、过程、规则、缺省值、触发器、表约束、分区、过程、计算列、基于函数的索引键等对象的相关信息

说明

每个视图、规则、缺省值、触发器、表约束、分区、过程、计算列、基于函数的索引键和其它形式的编译对象在 syscomments 中都有对应的条目。 text 列包含初始定义语句。 如果 text 列的长度大于 255 个字节,条目 将跨行显示。 每个对象最多可占据 65,025 行。 它还存储计算列、基于函数的索引或分区定义的有关文本。例如,为域分区存储“values <= value_list”。 create service 命令在 syscomments 中存储文本,因为它使用 create procedure基础结构。

id

该文本适用的对象 ID。

number

对过程进行分组时的子过程数(0 表示非过程条目)。

colid

此过程的注释的列计数器的低位部分。 值介于 0 到 32767 之间。如果在这么多行中无法容纳所有的过程文本,则该计数器与 colid2 一起发生作用。

texttype

指示注释类型。 其值包括:

  • 0 — 系统提供的注释,用于视图、规则、缺省值、触发器和过程
  • 1 — 用户提供的注释,用于添加对对象或列进行说明的条目

language

保留

text

SQL 定义语句的实际文本。

colid2

此过程的注释的列计数器的高位部分。 值介于 0 到 32767 之间。只有对于注释文本超过 32,768 行的过程,值才为 0。

status

指出对象状态的位:

  • 0x1 — SYSCOM_TEXT_HIDDEN 表示文本是隐藏的
  • 0x2 — 保留为内部使用
  • 0x4 — SYSCOM_QUOTED_ID_ON 表示创建对象时启用带引号的标识符
  • 0x8 — SYSCOM_SHARED_INLINE_DEF 表示该文本用于可共享行内缺省值

version

对用于加密此行的隐藏文本的算法进行编码的加密版本。 可以是以下各项之一:

  • Null — 隐藏文本没有加密
  • 1 —(缺省值)在 Adaptive Server 15.0 和更低版本中使用的 Adaptive Server 混淆算法
  • 2 —(可选)高级加密标准 (“AES”) 强加密

partitionid

分区 ID。 否则为空。

encrkeyid

来自当前数据库的 sysencryptkeys 中的密钥对象的加密密钥 ID,当 version 的值为 2 时,Adaptive Server 用它来加密该对象的隐藏文本。否则,Adaptive Server 使用空值来充当 encrkeyid。

注释

不要将定义语句从 syscomments 的 text 列中删除。 Adaptive Server 升级进程需要使用这些语句。 要加密定义语句,请执行系统过程 sp_hidetext。 要查看是否已删除在 11.5 版或更高版本中创建的语句,请执行 sp_checksource。 如果删除了该语句,则必须重新创建原先创建该 语句的对象,或者重新安装原先创建该对象的应用程序,这样就会重新创建该语句。

要防止对数据库对象的文本进行未经授权的访问,可施加限制,仅限对 象所有者和系统管理员拥有 syscomments 表中 text 列的 select 权限。 这种 限制既适用于通过存储过程进行的访问,也适用于通过 select 语句进行 的直接访问。在已评估的配置中运行 Adaptive Server 时,必须施加这种 限制。 要施加这种限制,系统安全员必须用系统过程 sp_configure 重新 设置称为 select on syscomments.text 的参数。

索引

  • id、number、colid2、colid、 texttype 上的唯一聚簇索引