SqlServer -辅助脚本

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: SqlServer -辅助脚本

SqlServer2005数据库字典–表结构.sql


SELECT TOP 100 PERCENT --a.id, 
CASE
  WHEN a.colorder = 1 THEN d.NAME
  ELSE ''
END                                              AS 表名,
CASE
  WHEN a.colorder = 1 THEN Isnull(f.value, '')
  ELSE ''
END                                              AS 表说明,
a.colorder                                       AS 字段序号,
a.NAME                                           AS 字段名,
CASE
  WHEN Columnproperty(a.id, a.NAME, 'IsIdentity') = 1 THEN '√'
  ELSE ''
END                                              AS 标识,
CASE
  WHEN EXISTS (SELECT 1
               FROM   dbo.sysindexes si
                      INNER JOIN dbo.sysindexkeys sik
                              ON si.id = sik.id
                                 AND si.indid = sik.indid
                      INNER JOIN dbo.syscolumns sc
                              ON sc.id = sik.id
                                 AND sc.colid = sik.colid
                      INNER JOIN dbo.sysobjects so
                              ON so.NAME = si.NAME
                                 AND so.xtype = 'PK'
               WHERE  sc.id = a.id
                      AND sc.colid = a.colid) THEN '√'
  ELSE ''
END                                              AS 主键,
b.NAME                                           AS 类型,
a.length                                         AS 长度,
Columnproperty(a.id, a.NAME, 'PRECISION')        AS 精度,
Isnull(Columnproperty(a.id, a.NAME, 'Scale'), 0) AS 小数位数,
CASE
  WHEN a.isnullable = 1 THEN '√'
  ELSE ''
END                                              AS 允许空,
Isnull(e.text, '')                               AS 默认值,
Isnull(g.[value], '')                            AS 字段说明,
d.crdate                                         AS 创建时间,
CASE
  WHEN a.colorder = 1 THEN d.refdate
  ELSE NULL
END                                              AS 更改时间
FROM   dbo.syscolumns a
       LEFT OUTER JOIN dbo.systypes b
                    ON a.xtype = b.xusertype
       INNER JOIN dbo.sysobjects d
               ON a.id = d.id
                  AND d.xtype = 'U'
                  AND d.status >= 0
       LEFT OUTER JOIN dbo.syscomments e
                    ON a.cdefault = e.id
       LEFT OUTER JOIN sys.extended_properties g
                    ON a.id = g.major_id
                       AND a.colid = g.minor_id
                       AND g.NAME = 'MS_Description'
       LEFT OUTER JOIN sys.extended_properties f
                    ON d.id = f.major_id
                       AND f.minor_id = 0
                       AND f.NAME = 'MS_Description'
ORDER  BY d.NAME,
          字段序号


SqlServer–表索引.sql


SELECT TOP 100 PERCENT --a.id, 
CASE
  WHEN b.keyno = 1 THEN c.NAME
  ELSE ''
END              AS 表名,
CASE
  WHEN b.keyno = 1 THEN a.NAME
  ELSE ''
END              AS 索引名称,
d.NAME           AS 列名,
b.keyno          AS 索引顺序,
CASE Indexkey_property(c.id, b.indid, b.keyno, 'isdescending')
  WHEN 1 THEN '降序'
  WHEN 0 THEN '升序'
END              AS 排序,
CASE
  WHEN p.id IS NULL THEN ''
  ELSE '√'
END              AS 主键,
CASE Indexproperty(c.id, a.NAME, 'IsClustered')
  WHEN 1 THEN '√'
  WHEN 0 THEN ''
END              AS 聚集,
CASE Indexproperty(c.id, a.NAME, 'IsUnique')
  WHEN 1 THEN '√'
  WHEN 0 THEN ''
END              AS 唯一,
CASE
  WHEN e.id IS NULL THEN ''
  ELSE '√'
END              AS 唯一约束,
a.origfillfactor AS 填充因子,
c.crdate         AS 创建时间,
c.refdate        AS 更改时间
FROM   dbo.sysindexes a
       INNER JOIN dbo.sysindexkeys b
               ON a.id = b.id
                  AND a.indid = b.indid
       INNER JOIN dbo.syscolumns d
               ON b.id = d.id
                  AND b.colid = d.colid
       INNER JOIN dbo.sysobjects c
               ON a.id = c.id
                  AND c.xtype = 'U'
       LEFT OUTER JOIN dbo.sysobjects e
                    ON e.NAME = a.NAME
                       AND e.xtype = 'UQ'
       LEFT OUTER JOIN 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 )
ORDER  BY c.NAME,
          a.NAME,
          b.keyno  
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
3月前
|
存储 SQL Go
全网最长的sql server巡检脚本分享(1000行)
全网最长的sql server巡检脚本分享(1000行)
54 1
|
3月前
|
SQL 存储 Go
SQL Server一键巡检脚本分享
SQL Server一键巡检脚本分享
30 0
|
3月前
|
SQL 运维 Oracle
SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行
SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行
46 0
|
SQL 数据库 数据安全/隐私保护
sqlserver 自动备份执行脚本
1.替换cmd文件中的sqlserver 路径, 2.替换cmd文件中的sqlserver 用户名和密码 3.替换sql备份脚本中的 数据库名称 ,备份路径,备份文件名,自定义 4. 将cmd 添加系统的定时任务中
239 0
sqlserver导出带数据的脚本文件(下)
sqlserver导出带数据的脚本文件(下)
138 0
sqlserver导出带数据的脚本文件(下)
|
SQL 安全 程序员
sqlserver导出带数据的脚本文件(上)
sqlserver导出带数据的脚本文件(上)
249 0
sqlserver导出带数据的脚本文件(上)
|
存储 数据库
sqlserver数据库还原存储过程脚本
sqlserver数据库还原存储过程脚本
123 0
|
SQL 关系型数据库 RDS
SQL Server脚本积累
SQL Server脚本
3299 0
|
SQL Go
mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
原文:mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享 原文地址:http://www.maomao365.com/?p=7335   摘要:      数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使...
1096 0
|
SQL Go 数据库
SQL SERVER修改排序规则——脚本篇
原文:SQL SERVER修改排序规则——脚本篇 在上篇MS SQL 排序规则总结中,大致就数据库服务器排序规则(或者叫数据库实例排序规则)、数据库排序规则、列的排序规则粗浅的叙说了一遍,重点讲述了修改数据库服务器排序规则(数据库实例排序规则),其中对于数据库排序规则的修改只是粗略带过。
1816 0
下一篇
无影云桌面