微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何查看SqlServer表 索引 创建时间,修改时间

转载自:

http://blog.sina.com.cn/s/blog_55bf1908010104mi.html

SELECT
 
    表名=CASE WHENC.column_id=1 THEN O.name ELSE N'' END,      表说明=ISNULL(CASE WHEN C.column_id=1 THEN PTB.[value] END,N''),      字段序号=C.column_id,      字段名=C.name,      主键=ISNULL(IDX.PrimaryKey,      标识=CASE WHENC.is_identity=1 THEN N'√'ELSE N'' END,      计算列=CASEWHEN C.is_computed=1 THEN N'√'ELSE N'' END,      类型=T.name,      长度=C.max_length,      精度=C.precision,      小数位数=C.scale,      允许空=CASEWHEN C.is_nullable=1 THEN N'√'ELSE N'' END,      认值=ISNULL(D.deFinition,      字段说明=ISNULL(PFD.[value],      索引名=ISNULL(IDX.IndexName,      索引排序=ISNULL(IDX.sort,      创建时间=O.Create_Date,      修改时间=O.Modify_date FROM sys.columns C       INNER JOINsys.objects O               ON C.[object_id]=O.[object_id]                       AND O.type='U'                       AND O.is_ms_shipped=0       INNER JOINsys.types T               ON C.user_type_id=T.user_type_id       LEFT JOINsys.default_constraints D               ON C.[object_id]=D.parent_object_id                       AND C.column_id=D.parent_column_id                       AND C.default_object_id=D.[object_id] LEFT JOIN sys.extended_properties PFD               ON PFD.class=1                       AND C.[object_id]=PFD.major_id                       AND C.column_id=PFD.minor_id --                        AND PFD.name='Caption'  --字段说明对应的描述名称(一个字段可以添加多个不同name的描述)       LEFT JOINsys.extended_properties PTB               ON PTB.class=1                       AND PTB.minor_id=0                       AND C.[object_id]=PTB.major_id --                        AND PFD.name='Caption'  --表说明对应的描述名称(一个表可以添加多个不同name的描述)       LEFTJOIN                                            -- 索引及主键信息       (               SELECT                       Idxc.[object_id],                      Idxc.column_id,                      Sort=CASEINDEXKEY_PROPERTY(Idxc.[object_id],Idxc.index_id,Idxc.index_column_id,'IsDescending')                               WHEN 1 THEN 'DESC' WHEN 0 THEN 'ASC' ELSE '' END,                      PrimaryKey=CASE WHEN IDX.is_primary_key=1 THEN N'√'ELSE N''END,                      IndexName=IDX.Name               FROM sys.indexes IDX               INNER JOIN sys.index_columns Idxc ON IDX.[object_id]=Idxc.[object_id]                               AND IDX.index_id=Idxc.index_id               LEFT JOIN sys.key_constraints KC                       ON IDX.[object_id]=KC.[parent_object_id]                               AND IDX.index_id=KC.unique_index_id               INNER JOIN  -- 对于一个列包含多个索引的情况,只显示第1个索引信息               (                       SELECT [object_id],Column_id,index_id=MIN(index_id)                       FROM sys.index_columns                       GROUP BY [object_id],Column_id               ) IdxcUQ                       ON Idxc.[object_id]=IdxcUQ.[object_id]                               AND Idxc.Column_id=IdxcUQ.Column_id                               AND Idxc.index_id=IdxcUQ.index_id       ) IDX               ON C.[object_id]=IDX.[object_id]                       AND C.column_id=IDX.column_id --WHERE O.name = 'viewvoutpage'       --如果只查询指定表,加上此条件 ORDER BY O.name,C.column_id

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐