SELECTTOP100PERCENT--a.id, CASEWHEN a.colorder =1THEN d.name ELSE''ENDAS 表名, CASEWHEN a.colorder =1THENisnull(f.value, '') ELSE''ENDAS 表说明, a.colorder AS 字段序号, a.name AS 字段名, CASEWHENCOLUMNPROPERTY(a.id, a.name, 'IsIdentity') =1THEN'√'ELSE''ENDAS 标识, CASEWHENEXISTS (SELECT1 FROM dbo.sysindexes si INNERJOIN dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid INNERJOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid INNERJOIN dbo.sysobjects so ON so.name = so.name AND so.xtype ='PK' WHERE sc.id = a.id AND sc.colid = a.colid) THEN'√'ELSE''ENDAS 主键, b.name AS 类型, a.length AS 长度, COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小数位数, CASEWHEN a.isnullable =1THEN'√'ELSE''ENDAS 允许空, ISNULL(e.text, '') AS 默认值, ISNULL(g.[value], '') AS 字段说明, d.crdate AS 创建时间, CASEWHEN a.colorder =1THEN d.refdate ELSENULLENDAS 更改时间 FROM dbo.syscolumns a LEFTOUTERJOIN dbo.systypes b ON a.xtype = b.xusertype INNERJOIN dbo.sysobjects d ON a.id = d.id AND d.xtype ='U'AND d.status >=0LEFTOUTERJOIN dbo.syscomments e ON a.cdefault = e.id LEFTOUTERJOIN dbo.sysproperties g ON a.id = g.id AND a.colid = g.smallid LEFTOUTERJOIN dbo.sysproperties f ON d.id = f.id AND f.smallid =0 ORDERBY d.name, a.colorder
SqlServer2005数据库字典--表结构.sql
SELECTTOP (100) PERCENT--a.id, CASEWHEN a.colorder =1THEN d .name ELSE''ENDAS 表名, CASEWHEN a.colorder =1THENisnull(f.value, '') ELSE''ENDAS 表说明, a.colorder AS 字段序号, a.name AS 字段名, CASEWHENCOLUMNPROPERTY(a.id, a.name, 'IsIdentity') =1THEN'√'ELSE''ENDAS 标识, CASEWHENEXISTS (SELECT1 FROM dbo.sysindexes si INNERJOIN dbo.sysindexkeys sik ON si.id = sik.id AND si.indid = sik.indid INNERJOIN dbo.syscolumns sc ON sc.id = sik.id AND sc.colid = sik.colid INNERJOIN dbo.sysobjects so ON so.name = so.name AND so.xtype ='PK' WHERE sc.id = a.id AND sc.colid = a.colid) THEN'√'ELSE''ENDAS 主键, b.name AS 类型, a.length AS 长度, COLUMNPROPERTY(a.id, a.name, 'PRECISION') AS 精度, ISNULL(COLUMNPROPERTY(a.id, a.name, 'Scale'), 0) AS 小数位数, CASEWHEN a.isnullable =1THEN'√'ELSE''ENDAS 允许空, ISNULL(e.text, '') AS 默认值, ISNULL(g.value, '') AS 字段说明, d.crdate AS 创建时间, CASEWHEN a.colorder =1THEN d .refdate ELSENULLENDAS 更改时间 FROM dbo.syscolumns AS a LEFTOUTERJOIN dbo.systypes AS b ON a.xtype = b.xusertype INNERJOIN dbo.sysobjects AS d ON a.id = d.id AND d.xtype ='U'AND d.status >=0LEFTOUTERJOIN dbo.syscomments AS e ON a.cdefault = e.id LEFTOUTERJOIN sys.extended_properties AS g ON a.id = g.major_id AND a.colid = g.minor_id LEFTOUTERJOIN sys.extended_properties AS f ON d.id = f.major_id AND f.minor_id =0 ORDERBY d.name, 字段序号
2.
SqlServer数据库字典--索引.sql
SELECTTOP100PERCENT--a.id, CASEWHEN b.keyno =1THEN c.name ELSE''ENDAS 表名, CASEWHEN b.keyno =1THEN a.name ELSE''ENDAS 索引名称, d.name AS 列名, b.keyno AS 索引顺序, CASE indexkey_property(c.id, b.indid, b.keyno, 'isdescending') WHEN1THEN'降序'WHEN0THEN'升序'ENDAS 排序, CASEWHEN p.id ISNULL THEN''ELSE'√'ENDAS 主键, CASEINDEXPROPERTY(c.id, a.name, 'IsClustered') WHEN1THEN'√'WHEN0THEN''ENDAS 聚集, CASEINDEXPROPERTY(c.id, a.name, 'IsUnique') WHEN1THEN'√'WHEN0THEN''ENDAS 唯一, CASEWHEN e.id ISNULLTHEN''ELSE'√'ENDAS 唯一约束, a.OrigFillFactor AS 填充因子, c.crdate AS 创建时间, c.refdate AS 更改时间 FROM dbo.sysindexes a INNERJOIN dbo.sysindexkeys b ON a.id = b.id AND a.indid = b.indid INNERJOIN dbo.syscolumns d ON b.id = d.id AND b.colid = d.colid INNERJOIN dbo.sysobjects c ON a.id = c.id AND c.xtype ='U'LEFTOUTERJOIN dbo.sysobjects e ON e.name = a.name AND e.xtype ='UQ'LEFTOUTERJOIN dbo.sysobjects p ON p.name = a.name AND p.xtype ='PK' WHERE (OBJECTPROPERTY(a.id, N'IsUserTable') =1) AND (OBJECTPROPERTY(a.id, N'IsMSShipped') =0) AND (INDEXPROPERTY(a.id, a.name, 'IsAutoStatistics') =0) ORDERBY c.name, a.name, b.keyno
3.
SqlServer数据库字典--主键.外键.约束.视图.函数.存储过程.触发器.sql
SELECTDISTINCT TOP100PERCENT o.xtype, CASE o.xtype WHEN'X'THEN'扩展存储过程'WHEN'TR'THEN'触发器'WHEN'PK'THEN '主键'WHEN'F'THEN'外键'WHEN'C'THEN'约束'WHEN'V'THEN'视图'WHEN'FN' THEN'函数-标量'WHEN'IF'THEN'函数-内嵌'WHEN'TF'THEN'函数-表值'ELSE'存储过程' ENDAS 类型, o.name AS 对象名, o.crdate AS 创建时间, o.refdate AS 更改时间, c.textAS 声明语句 FROM dbo.sysobjects o LEFTOUTERJOIN dbo.syscomments c ON o.id = c.id WHERE (o.xtype IN ('X', 'TR', 'C', 'V', 'F', 'IF', 'TF', 'FN', 'P', 'PK')) AND (OBJECTPROPERTY(o.id, N'IsMSShipped') =0) ORDERBYCASE o.xtype WHEN'X'THEN'扩展存储过程'WHEN'TR'THEN'触发器'WHEN 'PK'THEN'主键'WHEN'F'THEN'外键'WHEN'C'THEN'约束'WHEN'V'THEN'视图' WHEN'FN'THEN'函数-标量'WHEN'IF'THEN'函数-内嵌'WHEN'TF'THEN'函数-表值' ELSE'存储过程'ENDDESC