zoukankan      html  css  js  c++  java
  • MS SQL SERVER 中的系统表

    MS SQL SERVER 中的系统表

    序号

    名称

    说明

    备注

    1

    syscolumns

    每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。

     

    2

    syscomments

    包含每个视图、规则、默认值、触发器、CHECK 约束、DEFAULT 约束和存储过程的项。text 列包含原始 SQL 定义语句,其最大大小限制为 4 MB。

    不应删除 syscomments 中的项。如果手工删除或修改 syscomments 中的项,则对应的存储过程将不能正常工作。若要隐藏或加密存储过程定义,请使用含有 ENCRYPTION 关键字的 Create PROCEDURE。

    3

    sysdepends

    包含对象(视图、过程和触发器)与对象定义中包含的对象(表、视图和过程)之间的相关性信息。

     

    4

    sysfilegroups

    数据库中的每个文件组在表中占一行。

    在该表中至少有一项用于主文件组。

    5

    sysfiles

    数据库中的每个文件在表中占一行。

    该系统表是虚拟表,不能直接更新或修改。

    6

    sysforeignkeys

    包含关于表定义中的 FOREIGN KEY 约束的信息。

     

    7

    sysfulltextcatalogs

    包含关于表定义中的 FOREIGN KEY 约束的信息。

     

    8

    sysfulltextnotify

    sysfulltextnotify 视图未在 SQL Server 2000 中记录,但仍可查询它。此视图在 SQL Server 2005 中已删除。

     

    9

    sysindexes

    数据库中的每个索引和表在表中各占一行。

     

    10

    sysindexkeys

    数据库中的每个索引和表在表中各占一行。

     

    11

    sysmembers

    每个数据库角色成员在表中占一行。

     

    12

    sysobjects

    在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。

    只有在 tempdb 内,每个临时对象才在该表中占一行。

    13

    syspermissions

    包含有关对数据库内的用户、组和角色授予和拒绝的权限的信息。

     

    14

    sysproperties

    包含表中列的说明描述信息。

     

    15

    sysprotects

    包含有关已由 GRANT 和 DENY 语句应用于安全帐户的权限的信息。

     

    16

    sysreferences

    包括 FOREIGN KEY 约束定义到所引用列的映射。

     

    17

    systypes

    对于每种系统提供数据类型和用户定义数据类型,均包含一行信息。

    这些是系统提供的数据类型及其 ID 号。

    18

    sysusers

    数据库中每个 Microsoft? Windows 用户、Windows 组、Microsoft SQL Server? 用户或 SQL Server 角色在表中占一行。

     

    19

    sys.extended_properties

    针对当前数据库中的每个扩展属性返回一行。

     

    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

    用于描述列或参数属性的位图: 
    0x08 = 列允许空值。
    0x10 = 当添加 varchar 或 varbinary 列时,ANSI 填充生效。保留 varchar 列的尾随空格,保留 varbinary 列的尾随零。
    0x40 = 参数为 OUTPUT 参数。
    0x80 = 列为标识列。

    type

    tinyint

    systypes 中的物理存储类型。

    usertype

    smallint

    systypes 中的用户定义数据类型 ID。

    printfmt

    varchar(255)

    仅限内部使用。

    prec

    smallint

    该列的精度级别。

    scale

    int

    该列的小数位数。

    iscomputed

    int

    表示是否已计算该列的标志: 
    0 = 未计算。
    1 = 已计算。

    isoutparam

    int

    表示该过程参数是否是输出参数: 
    1 = 真。
    0 = 假。

    isnullable

    int

    表示该列是否允许空值: 
    1 = 真。
    0 = 假。


    2.syscomments

    列名

    数据类型

    描述

    id

    int

    该文本适用的对象 ID。

    number

    smallint

    如果进行分组,则为过程分组内的号码。0 表示不是过程的项。

    colid

    smallint

    超过 4,000 个字符的对象定义的行序列号。

    status

    smallint

    仅限内部使用。

    ctext

    varbinary(8000)

    SQL 定义语句的实际文本。

    texttype

    smallint

    0 = 用户提供的注释。
    1 = 系统提供的注释。
    4 = 加密的注释。

    language

    smallint

    仅限内部使用。

    encrypted

    bit

    表示过程是否已加密。 
    0 = 未加密。
    1 = 已加密。

    compressed

    bit

    表示过程是否已压缩。 
    0 = 未压缩。
    1 = 已压缩。

    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
    0x10 = DEFAULT

    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) 为单位)的状态位。 
    0x1 = 默认设备。
    0x2 = 磁盘文件。
    0x40 = 日志设备。
    0x80 = 自上次备份后已写入文件。
    0x4000 = 由 Create DATABASE 语句隐性创建的设备。
    0x8000 = 在数据库创建过程中创建的设备。
    0x100000 = 按百分比而不是按页数增长。

    perf

    int

    保留。

    name

    nchar(128)

    文件的逻辑名称。

    filename

    nchar(260)

    物理设备的名称,包括文件的完整路径。


    6.sysfiles1

    列名

    数据类型

    描述

    status

    int

    growth 值(以兆字节 (MB) 或千字节 (KB) 为单位)的状态位。 
    0x1 = 默认设备。
    0x2 = 磁盘文件。
    0x40 = 日志设备。
    0x80 = 自上次备份后已写入文件。
    0x4000 = 由 Create DATABASE 语句隐性创建的设备。
    0x8000 = 在数据库创建过程中创建的设备。
    0x100000 = 按百分比而不是按页数增长。

    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: 
    1 = 聚集索引
    >1 = 非聚集
    255 = 具有 text 或 image 数据的表条目

    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)

    对象类型。可以是下列对象类型中的一种: 
    C = CHECK 约束
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束
    L = 日志
    FN = 标量函数
    IF = 内嵌表函数
    P = 存储过程
    PK = PRIMARY KEY 约束(类型是 K)
    RF = 复制筛选存储过程
    S = 系统表
    TF = 表函数
    TR = 触发器
    U = 用户表
    UQ = UNIQUE 约束(类型是 K)
    V = 视图
    X = 扩展存储过程

    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)

    对象类型。可以是下列值之一: 
    C = CHECK 约束 
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束 
    FN = 标量函数
    IF = 内嵌表函数
    K = PRIMARY KEY 或 UNIQUE 约束 
    L = 日志
    P = 存储过程
    R = 规则
    RF = 复制筛选存储过程
    S = 系统表 
    TF = 表函数
    TR = 触发器
    U = 用户表
    V = 视图
    X = 扩展存储过程

    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

    可以有下列权限之一: 
    26 = REFERENCES
    178 = Create FUNCTION
    193 = Select
    195 = Insert
    196 = Delete
    197 = Update
    198 = Create TABLE
    203 = Create DATABASE
    207 = Create VIEW
    222 = Create PROCEDURE
    224 = EXECUTE
    228 = BACKUP DATABASE
    233 = Create DEFAULT
    235 = BACKUP LOG
    236 = Create RULE

    protecttype

    tinyint

    可以有下列值: 
    204 = GRANT_W_GRANT
    205 = GRANT
    206 = REVOKE

    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。

    19. extended_properties

    列名

    数据类型

    描述

    class

    tinyint

    标识其上存在属性的项类。可以是下列值之一:

    0 = 数据库

    1 = 对象或列

    2 = 参数

    3 = 架构

    4 = 数据库主体

    5 = 程序集

    6 = 类型

    7 = 索引

    10 = XML 架构集合

    15 = 消息类型

    16 = 服务约定

    17 = 服务

    18 = 远程服务绑定

    19 = 路由

    20 = 数据空间(文件组或分区方案)

    21 = 分区函数

    22 = 数据库文件

    27 = 计划指南

    class_desc

    nvarchar(60)

    其上存在扩展属性的类的说明。可以是下列值之一:

    DATABASE

    OBJECT_OR_COLUMN

    PARAMETER

    SCHEMA

    DATABASE_PRINCIPAL

    ASSEMBLY

    TYPE

    INDEX

    XML_SCHEMA_COLLECTION

    MESSAGE_TYPE

    SERVICE_CONTRACT

    SERVICE

    REMOTE_SERVICE_BINDING

    ROUTE

    DATASPACE

    PARTITION_FUNCTION

    DATABASE_FILE

    PLAN_GUIDE

    major_id

    int

    其上存在扩展属性的项 ID,根据项类进行解释。对于大多数项,该 ID 适用于类所表示的项。下列是非标准主 ID 的解释:

    如果 class 为 0,则 major_id 始终为 0。

    如果 class 为 1、2 或 7,则 major_id 为 object_id。

    minor_id

    int

    其上存在扩展属性的项辅助 ID,根据项类进行解释。对于大多数项,ID 为 0;否则,ID 为下列值之一:

    如果 class = 1,则 minor_id 在项为列的情况下等于 column_id,在项为对象的情况下等于 0。

    如果 class = 2,则 minor_id 为 parameter_id。

    如果 class = 7,则 minor _id 为 index_id。

    name

    sysname

    属性名,其 class、major_id 和 minor_id 是唯一的。

    value

    sql_variant

    扩展属性的值。

  • 相关阅读:
    【转】工作流持久化的几点说明
    转:壹百度-百度十年千倍的29条法则
    CRM软件设计评测点与采集测评点
    键盘上各按键对应的ASSII值
    导入Excle数据至数据库 “外部表不是预期的格式”错误信息
    浅谈代码的执行效率(2):编译器的威力 [摘自赵劼老师的博客]
    代码的执行效率(3)缓存与局部性 摘自赵劼老师的博客
    浅谈代码的执行效率(一)
    C# Base64加解密图片
    Bulk Insert的用法
  • 原文地址:https://www.cnblogs.com/9527y/p/3529109.html
Copyright © 2011-2022 走看看