从Sql server 2008获取表字段属性信息,注释信息
sqlserver 2008获得表的注释和字段的注释
http://my.oschina.net/Kenyon/blog/55433
今天无意中在网上发现Sqlserver有一个扩展属性系统表sysproperties,因为只接触过MSSQL2005及以后的版本,在生产库2008版本及联机文档上搜了下都找不到这个系统表,后来发现这个系统表在2005版本后就被另一个系统表sys.extended_properites所代替。
查看表的扩展属性:
扩展属性中有一name值是MS_Description,这个值是查看备注信息的。
至于属性的意思,参考:http://msdn.microsoft.com/zh-cn/library/ms177541(v=sql.105).aspx
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,扩展属性的值。
http://hi.baidu.com/wyg_bd/item/9c153f3d149300697d034b4c
在SqlServer中如何得到列的描述信息_sys.SysColumns和sys.extended_properties关系,sql-promptx下载
Sql开发工具下载地址 sql-promptx
方法二:
二、 取得column_id,system_type_id,user_type_id,default_object_id
三,取得key_constraint_id
四、foreign_key_constraint_id
http://space.itpub.net/16436858/viewspace-624807


