`
黄继华
  • 浏览: 45091 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[数据库字典]简单的3个SQL视图搞定所有SqlServer数据库字典

 
阅读更多

数据库字典包括表结构(分2K和2005)、索引和主键.外键.约束.视图.函数.存储过程.触发器.规则。可以在企业管理器、查询分析器中简单执行,直接了当的查出SQL2K及SQL2005的所有数据字典,方便文档的编写,希望对大家有帮助。

1. SqlServer2000数据库字典--表结构.sql

SELECTTOP100PERCENT--a.id,
CASEWHENa.colorder=1THENd.nameELSE''ENDAS表名,
CASEWHENa.colorder=1THENisnull(f.value,'')ELSE''ENDAS表说明,
a.colorder
AS字段序号,a.nameAS字段名,CASEWHENCOLUMNPROPERTY(a.id,
a.name,
'IsIdentity')=1THEN''ELSE''ENDAS标识,
CASEWHENEXISTS
(
SELECT1
FROMdbo.sysindexessiINNERJOIN
dbo.sysindexkeyssik
ONsi.id=sik.idANDsi.indid=sik.indidINNERJOIN
dbo.syscolumnssc
ONsc.id=sik.idANDsc.colid=sik.colidINNERJOIN
dbo.sysobjectsso
ONso.name=si.nameANDso.xtype='PK'
WHEREsc.id=a.idANDsc.colid=a.colid)THEN''ELSE''ENDAS主键,
b.name
AS类型,a.lengthAS长度,COLUMNPROPERTY(a.id,a.name,'PRECISION')
AS精度,ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0)AS小数位数,
CASEWHENa.isnullable=1THEN''ELSE''ENDAS允许空,ISNULL(e.text,'')
AS默认值,ISNULL(g.[value],'')AS字段说明,d.crdateAS创建时间,
CASEWHENa.colorder=1THENd.refdateELSENULLENDAS更改时间
FROMdbo.syscolumnsaLEFTOUTERJOIN
dbo.systypesb
ONa.xtype=b.xusertypeINNERJOIN
dbo.sysobjectsd
ONa.id=d.idANDd.xtype='U'AND
d.status
>=0LEFTOUTERJOIN
dbo.syscommentse
ONa.cdefault=e.idLEFTOUTERJOIN
dbo.syspropertiesg
ONa.id=g.idANDa.colid=g.smallidAND
g.name
='MS_Description'LEFTOUTERJOIN
dbo.syspropertiesf
ONd.id=f.idANDf.smallid=0AND
f.name
='MS_Description'
ORDERBYd.name,a.colorder

SqlServer2005数据库字典--表结构.sql
SELECTTOP100PERCENT--a.id,
CASEWHENa.colorder=1THENd.nameELSE''ENDAS表名,
CASEWHENa.colorder=1THENisnull(f.value,'')ELSE''ENDAS表说明,
a.colorder
AS字段序号,a.nameAS字段名,CASEWHENCOLUMNPROPERTY(a.id,
a.name,
'IsIdentity')=1THEN''ELSE''ENDAS标识,
CASEWHENEXISTS
(
SELECT1
FROMdbo.sysindexessiINNERJOIN
dbo.sysindexkeyssik
ONsi.id=sik.idANDsi.indid=sik.indidINNERJOIN
dbo.syscolumnssc
ONsc.id=sik.idANDsc.colid=sik.colidINNERJOIN
dbo.sysobjectsso
ONso.name=si.nameANDso.xtype='PK'
WHEREsc.id=a.idANDsc.colid=a.colid)THEN''ELSE''ENDAS主键,
b.name
AS类型,a.lengthAS长度,COLUMNPROPERTY(a.id,a.name,'PRECISION')
AS精度,ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0)AS小数位数,
CASEWHENa.isnullable=1THEN''ELSE''ENDAS允许空,ISNULL(e.text,'')
AS默认值,ISNULL(g.[value],'')AS字段说明,d.crdateAS创建时间,
CASEWHENa.colorder=1THENd.refdateELSENULLENDAS更改时间
FROMdbo.syscolumnsaLEFTOUTERJOIN
dbo.systypesb
ONa.xtype=b.xusertypeINNERJOIN
dbo.sysobjectsd
ONa.id=d.idANDd.xtype='U'AND
d.status
>=0LEFTOUTERJOIN
dbo.syscommentse
ONa.cdefault=e.idLEFTOUTERJOIN
sys.extended_propertiesg
ONa.id=g.major_idANDa.colid=g.minor_idAND
g.name
='MS_Description'LEFTOUTERJOIN
sys.extended_propertiesf
ONd.id=f.major_idANDf.minor_id=0AND
f.name
='MS_Description'
ORDERBYd.name,字段序号

2.SqlServer数据库字典--索引.sql
SELECTTOP100PERCENT--a.id,
CASEWHENb.keyno=1THENc.nameELSE''ENDAS表名,
CASEWHENb.keyno=1THENa.nameELSE''ENDAS索引名称,d.nameAS列名,
b.keyno
AS索引顺序,CASEindexkey_property(c.id,b.indid,b.keyno,'isdescending')
WHEN1THEN'降序'WHEN0THEN'升序'ENDAS排序,CASEWHENp.idISNULL
THEN''ELSE''ENDAS主键,CASEINDEXPROPERTY(c.id,a.name,'IsClustered')
WHEN1THEN''WHEN0THEN''ENDAS聚集,CASEINDEXPROPERTY(c.id,
a.name,
'IsUnique')WHEN1THEN''WHEN0THEN''ENDAS唯一,
CASEWHENe.idISNULLTHEN''ELSE''ENDAS唯一约束,
a.OrigFillFactor
AS填充因子,c.crdateAS创建时间,c.refdateAS更改时间
FROMdbo.sysindexesaINNERJOIN
dbo.sysindexkeysb
ONa.id=b.idANDa.indid=b.indidINNERJOIN
dbo.syscolumnsd
ONb.id=d.idANDb.colid=d.colidINNERJOIN
dbo.sysobjectsc
ONa.id=c.idANDc.xtype='U'LEFTOUTERJOIN
dbo.sysobjectse
ONe.name=a.nameANDe.xtype='UQ'LEFTOUTERJOIN
dbo.sysobjectsp
ONp.name=a.nameANDp.xtype='PK'
WHERE(OBJECTPROPERTY(a.id,N'IsUserTable')=1)AND(OBJECTPROPERTY(a.id,
N
'IsMSShipped')=0)AND(INDEXPROPERTY(a.id,a.name,'IsAutoStatistics')=0)
ORDERBYc.name,a.name,b.keyno

3.SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则.sql
SELECTDISTINCT
TOP100PERCENTisnull(p.name,'')AS父对象,o.xtype,
CASEo.xtypeWHEN'C'THEN'CHECK约束'WHEN'D'THEN'默认值或DEFAULT约束'
WHEN'F'THEN'FOREIGNKEY约束'WHEN'L'THEN'日志'WHEN'FN'THEN'标量函数'
WHEN'IF'THEN'内嵌表函数'WHEN'P'THEN'存储过程'WHEN'PK'THEN'PRIMARYKEY约束'
WHEN'RF'THEN'复制筛选存储过程'WHEN'S'THEN'系统表'WHEN'TF'THEN'表函数'
WHEN'TR'THEN'触发器'WHEN'U'THEN'用户表'WHEN'UQ'THEN'UNIQUE约束'
WHEN'V'THEN'视图'WHEN'X'THEN'扩展存储过程'WHEN'R'THEN'规则'ELSENULL
ENDAS类型,o.nameAS对象名,o.crdateAS创建时间,o.refdateAS更改时间,
c.
textAS声明语句,OBJECTPROPERTY(o.id,N'IsMSShipped')
FROMdbo.sysobjectsoLeftJOIN
dbo.sysobjectsp
ONo.parent_obj=p.idLEFTOUTERJOIN
dbo.syscommentsc
ONo.id=c.id
WHERE--(o.xtypeIN('C','D','F','PK','UQ','L','FN','IF','TF','TR','P','R','RF','X','S','U','V'))AND
(OBJECTPROPERTY(o.id,N'IsMSShipped')=0)AND(isnull(p.name,'')<>N'dtproperties')
ORDERBYo.xtypeDESC


分享到:
评论

相关推荐

    三个SQL视图查出所有SQL Server数据库字典

    下面将详细介绍如何通过三个SQL视图来查询SQL Server中的所有数据库字典。 ### SQL Server数据库字典简介 在SQL Server中,数据库字典是存储有关数据库元数据(如表、列、索引等)的系统表和视图的集合。这些元...

    3个SQL视图搞定所有SqlServer数据库字典.doc

    在标题和描述中提到的SQL脚本主要目标是创建三个视图,用于获取SQL Server 2000和2005的数据库字典。以下是这些视图可能涉及的关键知识点: 1. **表结构**: - `SELECT`语句用于从`syscolumns`、`systypes`、`...

    新版SQL数据库字典维护工具

    SQL数据库字典维护工具是一种高效、实用的数据库管理工具,主要用于协助数据库管理员(DBA)对Sql Server数据库进行结构维护和管理。在这个案例中,我们关注的是“小狗数据库字典维护工具”,由IT小马原创开发。此...

    sqlserver 数据库字典自动生成工具

    SQL Server 数据库字典自动生成工具是一款专为SQL Server设计的实用软件,旨在帮助数据库管理员和开发者快速生成关于数据库结构的详细文档。这款工具简化了手动编写数据库字典的过程,节省了时间和精力,并且能够...

    SQL Server数据字典工具

    SQL Server数据字典工具是一款专为SQL Server设计的实用程序,旨在帮助数据库管理员和开发者更好地理解和管理数据库结构。数据字典是数据库系统的核心组成部分,它提供了关于数据库内各个对象(如表、视图、索引、...

    SQL数据库字典生成器(带源码)

    1. **数据库字典**:数据库字典是数据库管理系统中一个重要的组成部分,它存储了关于数据库结构的所有元数据,如表、字段、索引、视图、约束等信息。生成数据库字典的目的在于提供一个清晰的数据模型概述,帮助...

    SQL Server导出数据字典工具

    SQL Server是一款广泛应用...总的来说,"SQL Server导出数据字典工具"是数据库管理员和开发人员的得力助手,它简化了获取和管理SQL Server数据库元数据的过程,提高了工作效率,同时也为数据库的维护和优化提供了便利。

    SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则

    SqlServer数据库字典--表.视图.函数.存储过程.触发器.主键.外键.约束.规则

    使用SQL查询 生成sql server数据库结构字典 生成html

    SQL Server数据库字典可以帮助我们清晰地看到每张表的结构、各字段的定义等信息。下面将详细介绍如何使用SQL查询快速生成SQL Server数据库的结构字典,并将其格式化输出为易于阅读的HTML文档。 #### SQL查询生成...

    数据字典导出工具 导出SqlServer数据库的数据字典

    本文将深入探讨如何使用特定的“数据字典导出工具”来导出SQL Server数据库的数据字典,并分析这个过程的细节。 首先,我们要明确“数据字典导出工具”的功能。正如标题所述,这是一个专门设计用于导出SQL Server...

    数据库字典 数据库 字典

    在SQL SERVER 2000中,数据库字典信息可以通过系统视图和存储过程访问,如`sysobjects`、`syscolumns`、`sysindexes`等。这些系统对象提供了丰富的信息,使得用户能够查询和理解数据库的每一个细节。通过结合使用...

    SQL数据库字典维护工具

    SQL数据库字典维护工具是针对Microsoft SQL Server设计的一款实用程序,它旨在帮助数据库管理员和开发人员更有效地管理和维护他们的数据库字典。这个工具通常包含了多种功能,如查看、搜索、修改和更新数据库对象的...

    生成数据库字典的工具(SQL)

    数据库字典是数据库管理系统中的一个重要组成部分,它是一个包含关于数据库本身信息的系统表或视图的集合。这些信息包括但不限于数据库结构、权限、索引、触发器、存储过程等。生成数据库字典的工具通常用于帮助...

    数据库字典生成器(包含源码)

    总的来说,数据库字典生成器是一个高效实用的工具,它利用C#编程语言,对SQL Server和Oracle等数据库进行扫描,将数据库结构转化为易于查阅的CHM文档,极大地提升了数据库管理和维护的效率。对于开发人员和数据库...

    数据库字典生成器

    数据字典在信息系统设计和管理中扮演着至关重要的角色,因为它提供了数据库中所有对象(如表、视图、索引、存储过程、函数等)的详细信息。这种信息对于数据库管理员(DBA)、开发人员以及任何需要理解和维护数据库...

    SQLSERVER数据字典生成器

    SQLSERVER数据字典生成器是一款专门针对Microsoft SQL Server 2000和2005设计的工具,其主要功能是帮助数据库管理员和开发者快速、便捷地生成关于数据库的详细信息,即数据字典。数据字典在数据库管理中扮演着至关...

    数据库字典生成软件

    数据库字典是数据库管理系统中的一个重要组成部分,它存储了数据库中所有对象的元数据,如表、视图、索引、存储过程、函数等。这些元数据提供了关于数据库结构的关键信息,有助于数据库设计、优化和维护。 数据库...

    生成数据库字典的CodeSmith模板

    数据库字典是数据库管理系统中的一个重要组成部分,它详细记录了数据库中的所有对象,如表、视图、索引、存储过程等的定义和属性。在开发过程中,拥有一个清晰的数据库字典有助于理解数据结构,进行设计、维护和文档...

    自动生成SQL Server数据库的Word文档格式的数据字典

    【自动生成SQL Server数据库的Word文档格式的数据字典】是一个技术任务,主要涉及数据库管理和文档自动化两个领域。在SQL Server数据库管理中,数据字典是一个非常重要的工具,它提供了关于数据库结构、表、列以及其...

    mssql生成导出数据库字典

    标题中的“mssql生成导出数据库字典”指的是在Microsoft SQL Server (MSSQL)环境中,使用特定工具或脚本来创建数据库字典的过程。数据库字典是一个详细记录了数据库结构、表、字段、索引、关系和其他元数据的文档。...

Global site tag (gtag.js) - Google Analytics