表、视图、过程、规则、缺省值、触发器、表约束、分区、过程、计算列、基于函数的索引键等对象的相关信息
每个视图、规则、缺省值、触发器、表约束、分区、过程、计算列、基于函数的索引键和其它形式的编译对象在 syscomments 中都有对应的条目。 text 列包含初始定义语句。 如果 text 列的长度大于 255 个字节,条目 将跨行显示。 每个对象最多可占据 65,025 行。 它还存储计算列、基于函数的索引或分区定义的有关文本。例如,为域分区存储“values <= value_list”。 create service 命令在 syscomments 中存储文本,因为它使用 create procedure基础结构。
该文本适用的对象 ID。
对过程进行分组时的子过程数(0 表示非过程条目)。
此过程的注释的列计数器的低位部分。 值介于 0 到 32767 之间。如果在这么多行中无法容纳所有的过程文本,则该计数器与 colid2 一起发生作用。
指示注释类型。 其值包括:
保留
SQL 定义语句的实际文本。
此过程的注释的列计数器的高位部分。 值介于 0 到 32767 之间。只有对于注释文本超过 32,768 行的过程,值才为 0。
指出对象状态的位:
对用于加密此行的隐藏文本的算法进行编码的加密版本。 可以是以下各项之一:
分区 ID。 否则为空。
来自当前数据库的 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 的参数。