码迷,mamicode.com
首页 > 数据库 > 详细

查询数据库的所有列信息 sys.all_columns

时间:2016-05-25 14:55:50      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:

一、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。
is_identity bit 1 = 列具有标识值
is_computed bit 1 = 列为计算列。
is_filestream bit 1 = 列声明使用 Filestream 存储。
is_replicated bit 1 = 列已复制。
is_non_sql_subscribed bit 1 = 列具有非 SQL Server 订阅服务器。
is_merge_published bit 1 = 列已合并发布。
is_dts_replicated bit 1 = 使用 SSIS 复制列。
is_xml_document bit 1 = 内容为完整的 XML 文档。
0 = 内容是文档片段,或列的数据类型不是 XML。
xml_collection_id int xml and the XML is typed." data-guid="311ce97a424bdda8c74254759fd38936">如果列是 xml 并且已键入 XML,则其值为非零值。  该值将是包含列的验证 XML 架构命名空间的集合的 ID。 
0 = 没有 XML 架构集合。
default_object_id int sys.sp_bindefault, or an in-line, column-level DEFAULT constraint.‘ data-guid="afbc8a31feda9962fdda53edf35a0b83">默认对象的 ID,无论该对象是独立的 sys.sp_bindefault 还是内联的列级 DEFAULT 约束。  内联列级默认对象的 parent_object_id 列是对该表本身的反引用。 
0 = 无默认值。
rule_object_id int sys.sp_bindrule. ‘ data-guid="0bb3f24933b0f4c57475ea0934d6695c">使用 sys.sp_bindrule 绑定到列的独立规则的 ID。
0 = 无独立规则。
sys.check_constraints (Transact-SQL).‘ data-guid="e337ec327bbb0ba2240080ad6290d96d">有关列级 CHECK 约束,请参阅 sys.check_constraints (Transact-SQL)。
is_sparse bit 1 = 列为稀疏列。  有关详细信息,请参阅使用稀疏列。 
is_column_set bit 1 = 列为列集。  有关详细信息,请参阅使用列集。 

 

三、type_name

TYPE_NAME ( type_id )

返回指定类型 ID 的未限定的类型名称。

可以使用sys.types表达到同样效果:Select * From Sys.types

 

四、SQL 语句

Select 
  A.name As Table Name, B.name As Column Name,
  type_name(B.user_type_id)
As Data Type, B.max_length,

  B.precision, scale, is_nullable, is_identity From sys.tables A Left Join sys.all_columns B On A.object_id = B.object_id Order By A.object_id,B.column_id

查询数据库的所有列信息 sys.all_columns

标签:

原文地址:http://www.cnblogs.com/Niko12230/p/5526790.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!