查询数据库的所有列信息 sys.all_columns
Posted Niko12230
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询数据库的所有列信息 sys.all_columns相关的知识,希望对你有一定的参考价值。
一、Database.sys.tables
为每个表对象返回一行,当前仅用于 sys.objects.type = U 的表对象。
列名 | 数据类型 | 说明 |
<继承的列> | 有关此视图所继承列的列表,请参阅sys.objects (Transact-SQL)。 | |
lob_data_space_id | int | 一个非零值,是保存此表的 text、ntext 和 image 数据的磁盘空间(文件组或分区架构)的 ID。 |
0 = 表不包含 text、ntext 或 image 数据。 | ||
filestream_data_space_id | int | 是 FILESTREAM 文件组或包含 FILESTREAM 文件组的分区方案的数据空间 ID。 |
若要报告 FILESTREAM 文件组的名称,请执行查询 SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables。 | ||
sys.tables 可以按 filestream_data_space_id = data_space_id 与下列视图联接。 | ||
sys.filegroups | ||
sys.partition_schemes | ||
sys.indexes | ||
sys.allocation_units | ||
sys.fulltext_catalogs | ||
sys.data_spaces | ||
sys.destination_data_spaces | ||
sys.master_files | ||
sys.database_files | ||
backupfilegroup(按 filegroup_id 联接) | ||
max_column_id_used | int | 此表曾使用的最大列 ID。 |
lock_on_bulk_load | bit | 表被锁定于大容量加载。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 |
uses_ansi_nulls | bit | 创建表时,SET ANSI_NULLS 数据库选项设置为 ON。 |
is_replicated | bit | 1 = 使用快照复制或事务复制发布表。 |
has_replication_filter | bit | 1 = 表具有复制筛选器。 |
is_merge_published | bit | 1 = 使用合并复制发布表。 |
is_sync_tran_subscribed | bit | 1 = 使用立即更新订阅来订阅表。 |
has_unchecked_assembly_data | bit | 1 = 表包含的持久化数据依赖于上次 ALTER ASSEMBLY 期间其定义发生更改的程序集。在下一次成功执行 DBCC CHECKDB 或 DBCC CHECKTABLE 后将重置为 0。 |
text_in_row_limit | int | Text in row 的最大允许字节数。 |
0 = 未设置 Text in row 选项。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 | ||
large_value_types_out_of_row | bit | 1 = 超行存储大值类型。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 |
is_tracked_by_cdc | bit | 1 = 为表启用变更数据捕获。有关详细信息,请参阅 sys.sp_cdc_enable_table (Transact-SQL)。 |
lock_escalation | tinyint | 表的 LOCK_ESCALATION 选项的值如下: |
0 = TABLE | ||
1 = DISABLE | ||
2 = AUTO | ||
lock_escalation_desc | nvarchar(60) | 表的 lock_escalation 选项的文本说明。可能的值有:TABLE、DISABLE 和 AUTO。 |
二、Database.sys.tables
显示属于用户定义对象和系统对象的所有列的联合。
列名 | 数据类型 | 说明 |
object_id | int | 此列所属对象的 ID。 |
name | sysname | 列的名称。 在对象中是唯一的。 |
column_id | int | 列的 ID。 在对象中是唯一的。 |
列 ID 可以不按顺序排列。 | ||
system_type_id | tinyint | 列的系统类型 ID。 |
user_type_id | int | 用户定义的列类型的 ID。 |
sys.types catalog view on this column.‘ data-guid="b0b47381e6de7b9b4c9a2d8419e6e4da">若要返回该类型的名称,请在该列中联接到 sys.types 目录视图。 | ||
max_length | smallint | 列的最大长度(字节)。 |
varchar(max), nvarchar(max), varbinary(max), or xml." data-guid="0c77804b7dd62539ef8a07509467c2a2">-1 = 列数据类型为varchar(max)、nvarchar(max)、varbinary(max) 或 xml。 | ||
text columns, the max_length value will be 16 or the value set by sp_tableoption ‘text in row‘." data-guid="98d994a86bf9798d86ac9709e4af7160">对于 text 列,max_length 值为 16 或 sp_tableoption ‘text in row‘ 设置的值。 | ||
precision | tinyint | 如果列包含的是数值,则为该列的精度;否则为 0。 |
scale | tinyint | 如果列包含的是数值,则为列的小数位数;否则为 0。 |
collation_name | sysname | 如果列包含的是字符,则为该列排序规则的名称;否则为 NULL。 |
is_nullable | bit | 1 = 列可为空。 |
is_ansi_padded | bit | 1 = 如果列为字符、二进制或变量类型,则该列使用 ANSI_PADDING ON 行为。 |
0 = 列不是字符、二进制或变量类型。 | ||
is_rowguidcol | bit | 1 = 列为声明的 ROWGUIDCOL。 |
以上是关于查询数据库的所有列信息 sys.all_columns的主要内容,如果未能解决你的问题,请参考以下文章 |