參考
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。 |



