参考
https://www.cnblogs.com/luluping/archive/2012/11/05/2754639.html
https://www.cnblogs.com/litubin/articles/5586463.html
SQLServer中提供了相当丰富的系统视图,能够从宏观到微观,从静态到动态反应数据库对象的存储结果、系统性能、系统等待事件等等。同时 也保留了与早期版本兼容性的视图,主要差别在于SQLServer2008提供的新系统视图一是更加全面和丰富、二是更注重命名规则。
SQLServer2008的几乎所有对象信息都存在于sys.objects系统视图中,同时又在不同的系统视图中保留了相应的副本,对于函数、视图、 存储过程、触发器等相应的文本对象,把相应的对象的详细资料存于新的sys.sql_modules视图中。
| 序号 | 对象类型 | 对象类型描述 | 相关系统表 |
| 1 | AF = 聚合函数 (CLR) | AGGREGATE_FUNCTION | N/A |
| 2 | C = CHECK 约束 | CHECK_CONSTRAINT | CHECK_CONSTRAINTS |
| 3 | D = DEFAULT(约束或独立) | DEFAULT_CONSTRAINT | DEFAULT_CONSTRAINTS |
| 4 | F = FOREIGN KEY 约束 | FOREIGN_KEY_CONSTRAINT | FOREIGN_KEYS |
| 5 | FN = SQL 标量函数 | SQL_SCALAR_FUNCTION | SQL_MODULES |
| 6 | FS = 程序集 (CLR) 标量函数 | CLR_SCALAR_FUNCTION | N/A |
| 7 | FT = 程序集 (CLR) 表值函数 | CLR_TABLE_VALUED_FUNCTION | N/A |
| 8 | IF = SQL 内联表值函数 | SQL_INLINE_TABLE_VALUED_FUNCTION | SQL_MODULES |
| 9 | IT = 内部表 | INTERNAL_TABLE | INTERNAL_TABLES |
| 10 | P = SQL 存储过程 | SQL_STORED_PROCEDURE | PROCEDURES SQL_MODULES |
| 11 | PC = 程序集 (CLR) 存储过程 | CLR_STORED_PROCEDURE | N/A |
| 12 | PG = 计划指南 | PLAN_GUIDE | PLAN_GUIDES |
| 13 | PK = PRIMARY KEY 约束 | PRIMARY_KEY_CONSTRAINT | KEY_CONSTRAINTS |
| 14 | R = 规则(旧式,独立) | RULE | SQL_MODULES |
| 15 | RF = 复制筛选过程 | REPLICATION_FILTER_PROCEDURE | SQL_MODULES |
| 16 | S = 系统基表 | SYSTEM_TABLE | OBJECTS |
| 17 | SN = 同义词 | SYNONYM | SYNONYMS |
| 18 | SQ = 服务队列 | SERVICE_QUEUE | SERVICE_QUEUESS |
| 19 | TA = 程序集 (CLR) DML 触发器 | CLR_TRIGGER | N/A |
| 20 | TF = SQL 表值函数 | SQL_TABLE_VALUED_FUNCTION | SQL_MODULES |
| 21 | TR = SQL DML 触发器 | SQL_TRIGGER | TRIGGERS SQL_MODULES |
| 22 | U = 表(用户定义类型) | USER_TABLE | TABLES |
| 23 | UQ = UNIQUE 约束 | UNIQUE_CONSTRAINT | KEY_CONSTRAINTS |
| 24 | V = 视图 | VIEW | VIEWS SQL_MODULES |
| 25 | X = 扩展存储过程 | EXTENDED_STORED_PROCEDURE | EXTENDED_PROCEDURES |
对于数据库层面的存储结构,我们可以参看以下视图:
SELECT*FROM SYS.SERVERS
WHERE SERVER_ID=0
--兼容性视图SELECT*FROM SYS.SYSSERVERS
--各个数据库的详细信息
SELECT*FROM SYS.DATABASES
--兼容性视图SELECT*FROM SYS.SYSDATABASES
--文件组的详细信息
SELECT*FROM SYS.FILEGROUPS
--兼容性视图SELECT*FROM SYS.SYSFILEGROUPS
--各个数据库文件的详细信息
SELECT*FROM SYS.MASTER_FILES
--兼容性视图SELECT*FROM SYS.SYSALTFILES
--当前数据库文件的详细信息
SELECT*FROM SYS.DATABASE_FILES
--兼容性视图SELECT*FROM SYS.SYSFILES
--数据空间的详细情况,可以是文件组或分区方案
SELECT*FROM SYS.DATA_SPACES
关于数据库表的存储信息,通过以下系统表我们可以大致了解数据库表在数据库中是如何定义的。以下视图提供了基本的数据库对象信息。
CREATE TABLE dbo.test
(
idintIDENTITY(1,1)NOTNULL,
name char(100)NULL,
CONSTRAINT PK_test PRIMARY KEY CLUSTERED (idASC)
)
CREATE NONCLUSTERED INDEX IX_testONdbo.test(name)
--表和对象详细信息,根据表名称查询出object_id为
--事实上几乎所有的用户对象都出自于SYS.OBJECTS表
SELECT*FROM SYS.OBJECTS
WHERE type_desc='USER_TABLE' AND NAME='TEST'
--兼容性视图SYSOBJECTS
--如果要查询与该表相关的其他所有对象,则可以执行以下语句
SELECT*FROM SYS.OBJECTS
WHERE type_desc='USER_TABLE' AND NAME='TEST' OR
parent_object_id in
(SELECTobject_id FROM SYS.OBJECTS
WHERE type_desc='USER_TABLE' AND NAME='TEST')
--表字段详细信息,可以查询出相关column_id
SELECT*FROM SYS.COLUMNS
WHERE OBJECT_ID=5575058
--兼容性视图SYSCOLUMNS
--表索引详细情况,可以清楚的看到存在两个索引
SELECT*FROM SYS.INDEXES WHERE OBJECT_ID=5575058
--兼容性视图SYSINDEXES
--表分区情况,数据库中所有表和索引的每个分区在表中各对应一行
--此处可以看到该表有两个分区,聚集索引即表本身,还有一个是name的非聚集索引
--partition_id 即分区的ID
--hobt_id包含此分区的行的数据堆或B树的ID
SELECT*FROM SYS.PARTITIONS WHERE OBJECT_ID=5575058
--分配单元情况,数据库中的每个分配单元都在表中占一行
--该表只有和SYS.PARTITIONS配合使用才有意义
SELECT*FROM SYS.ALLOCATION_UNITS
--SYS.ALLOCATION_UNITS和SYS.PARTITIONS一起使用能够反映出某个对象的页面分配和使用情况
SELECT*FROM SYS.ALLOCATION_UNITS U,SYS.PARTITIONS P
WHERE U.TYPE IN (1,3)ANDU.CONTAINER_ID=P.HOBT_IDANDP.OBJECT_ID=5575058
UNION ALL
SELECT*FROM SYS.ALLOCATION_UNITS U,SYS.PARTITIONS P
WHERE U.TYPE=2ANDU.CONTAINER_ID=P.PARTITION_IDANDP.OBJECT_ID=5575058
--返回每个分区的页和行计数信息
SELECT*FROM SYS.DM_DB_PARTITION_STATS WHERE OBJECT_ID=5575058
--返回索引的详细字段情况
SELECT*FROM SYS.INDEX_COLUMNS WHERE OBJECT_ID=5575058
--兼容性视图SYSINDEXKEYS
--以下为根据某个索引名称获取其相关字段的语句
DECLARE @index_field_names VARCHAR(500)
SET@index_field_names='';
SELECT@index_field_names=@index_field_names+c.name+','
FROM SYS.INDEX_COLUMNS a,SYS.INDEXES b,SYS.COLUMNS c
WHERE a.object_id=b.object_idANDa.index_id=b.index_id
ANDa.object_id=c.object_idANDa.column_id=c.column_id
ANDb.name='IX_test2'
ORDER BY a.index_column_id
SET@index_field_names=LEFT(@index_field_names,LEN(@index_field_names)-1)
PRINT @index_field_names
--CHECK约束,数据来源sys.objects.type='C'
SELECT*FROM SYS.CHECK_CONSTRAINTS WHERE OBJECT_ID=?
--兼容性视图SYSCONSTRAINTS
--数据来源sys.objects.type=D
SELECT*FROM SYS.DEFAULT_CONSTRAINTS WHERE OBJECT_ID=?
--兼容性视图SYSCONSTRAINTS
--主键或唯一约束,数据来源sys.objects.type PK 和UQ
SELECT*FROM SYS.KEY_CONSTRAINTS WHERE OBJECT_ID=?
--兼容性视图SYSCONSTRAINTS
--外键,数据来源sys.object.type=F
SELECT*FROM SYS.FOREIGN_KEYS WHERE OBJECT_ID=?
--兼容性视图SYSREFERENCES
--触发器
SELECT*FROM SYS.TRIGGERS WHERE OBJECT_ID=?
--注释
SELECT*FROM SYS.SQL_MODULES
--兼容性视图SYSCOMMENTS
--数据库用户表
SELECT*FROM SYS.DATABASE_PRINCIPALS
--兼容性视图SYSUSERS
--数据库数据类型表
SELECT*FROM SYS.TYPES
--兼容性视图SYSTYPES
SQL Server 用户库中系统表说明
| 名称 |
说明 |
备注 |
| syscolumns |
每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。 |
|
| syscomments |
包含每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始 SQL 定义语句,其最大大小限制为 4 MB。 |
不应删除 syscomments 中的项。如果手工删除或修改 syscomments 中的项,则对应的存储过程将不能正常工作。若要隐藏或加密存储过程定义,请使用含有 ENCRYPTION 关键字的 Create PROCEDURE。 |
| sysdepends |
包含对象(视图、过程和触发器)与对象定义中包含的对象(表、视图和过程)之间的相关性信息。 |
|
| sysfilegroups |
数据库中的每个文件组在表中占一行。 |
在该表中至少有一项用于主文件组。 |
| sysfiles |
数据库中的每个文件在表中占一行。 |
该系统表是虚拟表,不能直接更新或修改。 |
| sysfiles1 |
数据库中的每个文件在表中占一行。 |
该系统表是虚拟表,不能直接更新或修改。 |
| sysforeignkeys |
包含关于表定义中的 FOREIGN KEY 约束的信息。 |
|
| sysfulltextcatalogs |
包含关于表定义中的 FOREIGN KEY 约束的信息。 |
|
| sysfulltextnotify |
sysfulltextnotify 视图未在 SQL Server 2000 中记录,但仍可查询它。此视图在 SQL Server 2005 中已删除。 |
|
| sysindexes |
数据库中的每个索引和表在表中各占一行。 |
|
| sysindexkeys |
数据库中的每个索引和表在表中各占一行。 |
|
| sysmembers |
每个数据库角色成员在表中占一行。 |
|
| sysobjects |
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。 |
只有在 tempdb 内,每个临时对象才在该表中占一行。 |
| syspermissions |
包含有关对数据库内的用户、组和角色授予和拒绝的权限的信息。 |
|
| sysproperties (sql2005及以上版本使用 sys.extended_properties) |
包含表中列的说明描述信息。 |
|
| sysprotects |
包含有关已由 GRANT 和 DENY 语句应用于安全帐户的权限的信息。 |
|
| sysreferences |
包括 FOREIGN KEY 约束定义到所引用列的映射。 |
|
| systypes |
对于每种系统提供数据类型和用户定义数据类型,均包含一行信息。 |
这些是系统提供的数据类型及其 ID 号。 |
| sysusers |
数据库中每个 Microsoft? Windows 用户、Windows 组、Microsoft SQL Server? 用户或 SQL Server 角色在表中占一行。 |
1.syscolumns表
| 列名 |
数据类型 |
描述 |
| name |
sysname |
列名或过程参数的名称。 |
| id |
int |
该列所属的表对象 ID,或与该参数关联的存储过程 ID。 |
| xtype |
tinyint |
systypes 中的物理存储类型。 |
| typestat |
tinyint |
仅限内部使用。 |
| xusertype |
smallint |
扩展的用户定义数据类型 ID。 |
| length |
smallint |
systypes 中的最大物理存储长度。 |
| xprec |
tinyint |
仅限内部使用。 |
| xscale |
tinyint |
仅限内部使用。 |
| colid |
smallint |
列或参数 ID。 |
| xoffset |
smallint |
仅限内部使用。 |
| bitpos |
tinyint |
仅限内部使用。 |
| reserved |
tinyint |
仅限内部使用。 |
| colstat |
smallint |
仅限内部使用。 |
| cdefault |
int |
该列的默认值 ID。 |
| domain |
int |
该列的规则或 CHECK 约束 ID。 |
| number |
smallint |
过程分组时(0 表示非过程项)的子过程号。 |
| colorder |
smallint |
仅限内部使用。 |
| autoval |
varbinary(255) |
仅限内部使用。 |
| offset |
smallint |
该列所在行的偏移量;如果为负,表示可变长度行。 |
| status |
tinyint |
用于描述列或参数属性的位图: |
| type |
tinyint |
systypes 中的物理存储类型。 |
| usertype |
smallint |
systypes 中的用户定义数据类型 ID。 |
| printfmt |
varchar(255) |
仅限内部使用。 |
| prec |
smallint |
该列的精度级别。 |
| scale |
int |
该列的小数位数。 |
| iscomputed |
int |
表示是否已计算该列的标志: |
| isoutparam |
int |
表示该过程参数是否是输出参数: |
| isnullable |
int |
表示该列是否允许空值: |
2.syscomments表
| 列名 |
数据类型 |
描述 |
| id |
int |
该文本适用的对象 ID。 |
| number |
smallint |
如果进行分组,则为过程分组内的号码。0 表示不是过程的项。 |
| colid |
smallint |
超过 4,000 个字符的对象定义的行序列号。 |
| status |
smallint |
仅限内部使用。 |
| ctext |
varbinary(8000) |
SQL 定义语句的实际文本。 |
| texttype |
smallint |
0 = 用户提供的注释。 |
| language |
smallint |
仅限内部使用。 |
| encrypted |
bit |
表示过程是否已加密。 |
| compressed |
bit |
表示过程是否已压缩。 |
| text |
nvarchar(4000) |
SQL 定义语句的实际文本。 |
3.sysdepends表
| 列名 |
数据类型 |
描述 |
| id |
int |
对象 ID。 |
| depid |
int |
相关对象 ID。 |
| number |
smallint |
过程号。 |
| depnumber |
smallint |
相关过程号。 |
| status |
smallint |
内部状态信息。 |
| depdbid |
smallint |
保留。 |
| depsiteid |
smallint |
保留。 |
| selall |
bit |
如果对象用在 Select * 语句中,则打开。 |
| resultobj |
bit |
如果正在更新对象,则打开。 |
| readobj |
bit |
如果正在读取对象,则打开。 |
4.sysfilegroups表
| 列名 |
数据类型 |
描述 |
| groupid |
smallint |
每个数据库的唯一组标识号。 |
| allocpolicy |
smallint |
保留。 |
| status |
int |
0x8 = READ ONLY |
| groupname |
sysname |
文件组的名称。 |
5.sysfiles表
| 列名 |
数据类型 |
描述 |
| fileid |
smallint |
每个数据库的唯一文件标识号。 |
| groupid |
smallint |
文件组标识号。 |
| size |
int |
文件大小(以 8 KB 页为单位)。 |
| maxsize |
int |
最大文件大小(以 8 KB 页为单位)。0 值表示不增长,–1 值表示文件应一直增长到磁盘已满。 |
| growth |
int |
数据库的增长大小。0 值表示不增长。根据状态的值,可以是页数或文件大小的百分比。如果 status 包含 0x100000,则 growth 是文件大小的百分比;否则,它是页数。 |
| status |
int |
growth 值(以兆字节 (MB) 或千字节 (KB) 为单位)的状态位。 |
| perf |
int |
保留。 |
| name |
nchar(128) |
文件的逻辑名称。 |
| filename |
nchar(260) |
物理设备的名称,包括文件的完整路径。 |
6.sysfiles1表
| 列名 |
数据类型 |
描述 |
| status |
int |
growth 值(以兆字节 (MB) 或千字节 (KB) 为单位)的状态位。 |
| fileid |
smallint |
每个数据库的唯一文件标识号。 |
| name |
nchar(128) |
文件的逻辑名称。 |
| filename |
nchar(260) |
物理设备的名称,包括文件的完整路径。 |
7.sysforeignkeys表
| 列名 |
数据类型 |
描述 |
| constid |
int |
FOREIGN KEY 约束的 ID。 |
| fkeyid |
int |
具有 FOREIGN KEY 约束的表对象 ID。 |
| rkeyid |
int |
在 FOREIGN KEY 约束中引用的表对象 ID。 |
| fkey |
smallint |
正在引用的列 ID。 |
| rkey |
smallint |
已引用的列 ID。 |
| keyno |
smallint |
该列在引用列列表中的位置。 |
8.sysfulltextcatalogs表
| 列名 |
数据类型 |
描述 |
| ftcatid |
smallint |
全文目录的标识符。 |
| name |
sysname |
用户提供的全文目录名。 |
| status |
smallint |
保留;仅限内部使用。 |
| path |
nvarchar(260) |
用户提供的根路径。NULL 值表示用户未提供路径,因而使用了默认(安装)路径。 |
9.sysindexes表
| 列名 |
数据类型 |
描述 |
| id |
int |
表 ID(如果 indid = 0 或 255)。否则为索引所属表的 ID。 |
| status |
int |
内部系统状态信息。 |
| first |
binary(6) |
指向第一页或根页的指针。 |
| indid |
smallint |
索引 ID: |
| root |
binary(6) |
如果 indid >= 1 和 < 255,root 是指向根页的指针。如果 indid = 0 或 indid = 255,root 是指向最后一页的指针。 |
| minlen |
smallint |
最小行大小。 |
| keycnt |
smallint |
键的数目。 |
| groupid |
smallint |
在其上创建对象的文件组 ID。 |
| dpages |
int |
如果 indid = 0 或 indid = 1,dpages 是已用数据页的计数。如果 indid = 255,其设置为 0。否则是已用索引页的计数。 |
| reserved |
int |
如果 indid = 0 或 indid = 1,reserved 是分配给所有索引和表数据的页计数。如果 indid = 255,reserved 是分配给 text 或 image 数据的页计数。否则是分配给索引的页计数。 |
| used |
int |
如果 indid = 0 或 indid = 1,used 是用于所有索引和表数据的总页数。如果 indid = 255,used 是用于 text 或 image 数据的页计数。否则是用于索引的页计数。 |
| rowcnt |
bigint |
基于 indid = 0 和 indid = 1 的数据级行计数。如果 indid = 255,rowcnt 设置为 0。 |
| rowmodctr |
int |
对自上次更新表的统计后插入、删除或更新行的总数进行计数。 |
| xmaxlen |
smallint |
最大行大小。 |
| maxirow |
smallint |
最大非叶索引行大小。 |
| OrigFillFactor |
tinyint |
创建索引时使用的起始填充因子值。不保留该值;然而,如果需要重新创建索引但记不住当初使用的填充因子,则该值可能很有帮助。 |
| reserved1 |
tinyint |
保留。 |
| reserved2 |
int |
保留。 |
| FirstIAM |
binary(6) |
保留。 |
| impid |
smallint |
保留。索引实现标志。 |
| lockflags |
smallint |
用于约束经过考虑的索引锁粒度。例如,对于本质上是只读的查找表,可以将其设置为仅进行表级锁定以使锁定成本减到最小。 |
| pgmodctr |
int |
保留。 |
| keys |
varbinary(816) |
组成索引键的列 ID 列表。 |
| name |
sysname |
表名(如果 indid = 0 或 255)。否则为索引的名称。 |
| statblob |
image |
统计 BLOB。 |
| maxlen |
int |
保留。 |
| rows |
int |
基于 indid = 0 和 indid = 1的数据级行数,该值对于 indid >1 重复。如果 indid = 255,rows 设置为 0。提供该列是为了向后兼容。 |
10.sysindexkeys表
| 列名 |
数据类型 |
描述 |
| id |
int |
表 ID。 |
| indid |
smallint |
索引 ID。 |
| colid |
smallint |
列 ID。 |
| keyno |
smallint |
该列在索引中的位置。 |
11.sysmembers表
| 列名 |
数据类型 |
描述 |
| memberuid |
smallint |
角色成员的用户 ID。 |
| groupuid |
smallint |
角色的用户 ID。 |
12.sysobjects表
| 列名 |
数据类型 |
描述 |
| name |
sysname |
对象名。 |
| Id |
int |
对象标识号。 |
| xtype |
char(2) |
对象类型。可以是下列对象类型中的一种: |
| uid |
smallint |
所有者对象的用户 ID。 |
| info |
smallint |
保留。仅限内部使用。 |
| status |
int |
保留。仅限内部使用。 |
| base_schema_ver |
int |
保留。仅限内部使用。 |
| replinfo |
int |
保留。供复制使用。 |
| parent_obj |
int |
父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。 |
| crdate |
datetime |
对象的创建日期。 |
| ftcatid |
smallint |
为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。 |
| schema_ver |
int |
版本号,该版本号在每次表的架构更改时都增加。 |
| stats_schema_ver |
int |
保留。仅限内部使用。 |
| type |
char(2) |
对象类型。可以是下列值之一: |
| userstat |
smallint |
保留。 |
| sysstat |
smallint |
内部状态信息。 |
| indexdel |
smallint |
保留。 |
| refdate |
datetime |
留作以后使用。 |
| version |
int |
留作以后使用。 |
| deltrig |
int |
保留。 |
| instrig |
int |
保留。 |
| updtrig |
int |
保留。 |
| seltrig |
int |
保留。 |
| category |
int |
用于发布、约束和标识。 |
| cache |
smallint |
保留。 |
13.syspermissions表
| 列名 |
数据类型 |
描述 |
| id |
int |
对象权限的对象 ID;0 表示语句权限。 |
| grantee |
smallint |
受权限影响的用户、组或角色的 ID。 |
| grantor |
smallint |
被授予或废除权限的用户、组或角色的 ID。 |
| actadd |
smallint |
仅限内部使用。 |
| actmod |
smallint |
仅限内部使用。 |
| seladd |
varbinary(4000) |
仅限内部使用。 |
| selmod |
varbinary(4000) |
仅限内部使用。 |
| updadd |
varbinary(4000) |
仅限内部使用。 |
| updmod |
varbinary(4000) |
仅限内部使用。 |
| refadd |
varbinary(4000) |
仅限内部使用。 |
| refmod |
varbinary(4000) |
仅限内部使用。 |
14.sysproperties表
| 列名 |
数据类型 |
描述 |
| id |
int |
该列所属的表对象 ID,或与该参数关联的存储过程 ID。 |
| colid |
smallint |
列或参数 ID。 |
| type |
tinyint |
暂缺。 |
| name |
sysname |
暂缺。 |
| value |
sql_variant |
说明描述信息。 |
15.sysprotects表
| 列名 |
数据类型 |
描述 |
| id |
int |
将这些权限应用于的对象 ID。 |
| uid |
smallint |
将这些权限应用于的用户或组的 ID。 |
| action |
tinyint |
可以有下列权限之一: |
| protecttype |
tinyint |
可以有下列值: |
| columns |
varbinary(4000) |
将这些 Select 或 Update 权限应用于的列的位图。位 0 表示所有的列,位 1 表示权限应用于该列,NULL 表示没有信息。 |
| grantor |
smallint |
发出 GRANT 或 REVOKE 权限的用户的用户 ID。 |
16.sysreferences表
| 列名 |
数据类型 |
描述 |
| constid |
int |
FOREIGN KEY 约束的 ID。 |
| fkeyid |
int |
引用表的 ID。 |
| rkeyid |
int |
被引用表的 ID。 |
| rkeyindid |
smallint |
涵盖被引用键列的被引用表上唯一索引的索引 ID。 |
| keycnt |
smallint |
键中的列数。 |
| forkeys |
varbinary(32) |
仅限内部使用。 |
| refkeys |
varbinary(32) |
仅限内部使用。 |
| fkeydbid |
smallint |
保留。 |
| rkeydbid |
smallint |
保留。 |
| fkey1 |
smallint |
引用列的列 ID。 |
| fkey2 |
smallint |
引用列的列 ID。 |
| fkey3 |
smallint |
引用列的列 ID。 |
| fkey4 |
smallint |
引用列的列 ID。 |
| fkey5 |
smallint |
引用列的列 ID。 |
| fkey6 |
smallint |
引用列的列 ID。 |
| fkey7 |
smallint |
引用列的列 ID。 |
| fkey8 |
smallint |
引用列的列 ID。 |
| fkey9 |
smallint |
引用列的列 ID。 |
| fkey10 |
smallint |
引用列的列 ID。 |
| fkey11 |
smallint |
引用列的列 ID。 |
| fkey12 |
smallint |
引用列的列 ID。 |
| fkey13 |
smallint |
引用列的列 ID。 |
| fkey14 |
smallint |
引用列的列 ID。 |
| fkey15 |
smallint |
引用列的列 ID。 |
| fkey16 |
smallint |
引用列的列 ID。 |
| rkey1 |
smallint |
引用列的列 ID。 |
| rkey2 |
smallint |
引用列的列 ID。 |
| rkey3 |
smallint |
引用列的列 ID。 |
| rkey4 |
smallint |
引用列的列 ID。 |
| rkey5 |
smallint |
引用列的列 ID。 |
| rkey6 |
smallint |
引用列的列 ID。 |
| rkey7 |
smallint |
引用列的列 ID。 |
| rkey8 |
smallint |
引用列的列 ID。 |
| rkey9 |
smallint |
引用列的列 ID。 |
| rkey10 |
smallint |
引用列的列 ID。 |
| rkey11 |
smallint |
引用列的列 ID。 |
| rkey12 |
smallint |
引用列的列 ID。 |
| rkey13 |
smallint |
引用列的列 ID。 |
| rkey14 |
smallint |
引用列的列 ID。 |
| rkey15 |
smallint |
引用列的列 ID。 |
| rkey16 |
smallint |
引用列的列 ID。 |
17.systypes表
| 列名 |
数据类型 |
描述 |
| name |
sysname |
数据类型名称。 |
| xtype |
tinyint |
物理存储类型。 |
| status |
tinyint |
仅限内部使用。 |
| xusertype |
smallint |
扩展用户类型。 |
| length |
smallint |
数据类型的物理长度。 |
| xprec |
tinyint |
服务器所使用的内部精度。不能在查询中使用。 |
| xscale |
tinyint |
服务器所使用的内部小数位数。不能在查询中使用。 |
| tdefault |
int |
对此数据类型进行完整性检查的存储过程的 ID。 |
| domain |
int |
对此数据类型进行完整性检查的存储过程的 ID。 |
| uid |
smallint |
数据类型创建者的用户 ID。 |
| reserved |
smallint |
仅限内部使用。 |
| usertype |
smallint |
用户类型 ID。 |
| variable |
bit |
可变长度数据类型为 1;否则为 0。 |
| allownulls |
bit |
指出此数据类型的默认为空性。如果 Create 或 Alter TABLE 指定了为空性,那么该值将替代此数据类型的默认为空性。 |
| type |
tinyint |
物理存储数据类型。 |
| printfmt |
varchar(255) |
保留。 |
| prec |
smallint |
此数据类型的精度级别。 |
| scale |
tinyint |
此数据类型的小数位数(根据精度)。 |
18.sysusers表
| 列名 |
数据类型 |
描述 |
| uid |
smallint |
用户 ID,在此数据库中是唯一的。1 是数据库所有者。 |
| status |
smallint |
仅限内部使用。 |
| name |
sysname |
用户名或组名,在此数据库中是唯一的。 |
| sid |
varbinary(85) |
此条目的安全性标识符。 |
| roles |
varbinary(2048) |
仅限内部使用。 |
| createdate |
datetime |
帐户的添加日期。 |
| updatedate |
datetime |
帐户的上次修改日期。 |
| altuid |
smallint |
仅限内部使用。 |
| password |
varbinary(256) |
仅限内部使用。 |
| gid |
smallint |
此用户所属的组 ID。如果 uid = gid,那么此条目就定义一个组。 |
| environ |
varchar(255) |
保留。 |
| hasdbaccess |
int |
如果该帐户有数据库访问权限,则为 1。 |
| islogin |
int |
如果该帐户是有登录帐户的 Windows 组、Windows 用户或 SQL Server 用户,则为 1。 |
| isntname |
int |
如果该帐户是 Windows 组或 Windows 用户,则为 1。 |
| isntgroup |
int |
如果该帐户是 Windows 组,则为 1。 |
| isntuser |
int |
如果该帐户是 Windows 用户,则为 1。 |
| issqluser |
int |
如果该帐户是 SQL Server 用户,则为 1。 |
| isaliased |
int |
如果该帐户以另一个用户为别名,则为 1。 |
| issqlrole |
int |
如果该帐户是 SQL Server 角色,则为 1。 |
| isapprole |
int |
如果该帐户是应用程序角色,则为 1。 |



