SQL Server中搜索特定的对象


Posted in SQL Server onMay 25, 2022

检索数据库架构信息 - ADO.NET | Microsoft 官方文档

将系统表映射到系统视图 (Transact-sql) - SQL Server | Microsoft 官方文档

一、注释中带某关键字的对象(sys.extended_properties)

主要用到 sys.tables 、sys.columns 、sys.procedures  系统对象表以及sys.extended_properties 扩展属性表

--查询列
SELECT  A.name AS table_name ,
         B.name AS column_name ,
         C.value AS column_description
FROM    sys.tables A
         INNER JOIN sys.columns B ON B.object_id = A.object_id
         LEFT JOIN sys.extended_properties C ON C.major_id = B.object_id
                                                AND C.minor_id = B.column_id
 WHERE   CAST(C.[value] AS VARCHAR(1000)) LIKE '%年假%';


--查询表
SELECT  A.name AS table_name ,
         C.value AS column_description
 FROM    sys.tables A
         INNER JOIN sys.extended_properties C ON C.major_id = A.object_id
                                                AND C.minor_id = 0
 WHERE   CAST(C.[value] AS VARCHAR(1000)) LIKE '%请假%'

--查询存储过程
SELECT  A.name AS table_name ,
         C.value AS column_description
 FROM    sys.procedures A
         INNER JOIN sys.extended_properties C ON C.major_id = A.object_id
                                                AND C.minor_id = 0
 WHERE   CAST(C.[value] AS VARCHAR(1000)) LIKE '%年假%'

二、定义语句中带某关键字的对象(sys.all_sql_modules )

主要用到 dbo.sysobjects 系统对象表以及sys.all_sql_modules 对象定义语句表

--老方式
SELECT   DISTINCT b.name, b.xtype
FROM     dbo.syscomments a, dbo.sysobjects b
WHERE    a.id = b.id
         AND b.xtype = 'p'
         AND a.text LIKE '%LotMax%'
ORDER BY name;

--从 2008 开始,新方式
SELECT   name, type_desc
FROM     sys.all_sql_modules s
         INNER JOIN sys.all_objects o ON s.object_id = o.object_id
WHERE    definition LIKE '%LotMax%'
ORDER BY type_desc, name;

三、查找列名

select   A.name as table_name, B.name as column_name
from     sys.tables A
         inner join sys.columns B on B.object_id = A.object_id
where    B.name like '%File%' 
order by A.name, B.name;

 完整的列属性:

with indexCTE
as ( select ic.column_id, ic.index_column_id, ic.object_id
     from   ZSOtherData.sys.indexes idx
            inner join ZSOtherData.sys.index_columns ic on idx.index_id = ic.index_id and idx.object_id = ic.object_id
     where  idx.object_id = object_id('MouldTestResultDetail') and idx.is_primary_key = 1 )
select   colm.column_id ColumnID, cast(case when indexCTE.column_id is null then 0 else 1 end as bit) IsPrimaryKey, colm.name column_name ,object_definition(colm.default_object_id) AS column_def,
         systype.name type_name, colm.is_identity is_identity,f.keyno as is_foreignkey, colm.is_nullable , cast(colm.max_length as int) ByteLength ,
         ( case when systype.name = 'nvarchar' and colm.max_length > 0 then colm.max_length / 2
                when systype.name = 'nchar' and colm.max_length > 0 then colm.max_length / 2
                when systype.name = 'ntext' and colm.max_length > 0 then colm.max_length / 2 else colm.max_length end ) length ,
         cast(colm.precision as int) precision, cast(colm.scale as int) scale,colm.is_computed, prop.value Remark
from     ZSOtherData.sys.columns colm
         inner join ZSOtherData.sys.types systype on colm.system_type_id = systype.system_type_id and colm.user_type_id = systype.user_type_id
         left join ZSOtherData.sys.extended_properties prop on colm.object_id = prop.major_id and colm.column_id = prop.minor_id
         left join indexCTE on colm.column_id = indexCTE.column_id and colm.object_id = indexCTE.object_id
     left join sysforeignkeys f on f.fkeyid=colm.object_id and f.fkey=colm.column_id
where    colm.object_id = object_id('MouldTestResultDetail')
order by colm.column_id;

SQL Server中搜索特定的对象

到此这篇关于SQL Server搜索特定对象的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

SQL Server 相关文章推荐
SQLServer2019 数据库的基本使用之图形化界面操作的实现
Apr 08 SQL Server
SQLServer中JSON文档型数据的查询问题解决
Jun 27 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQL Server代理:理解SQL代理错误日志处理方法
Jun 30 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
SQL Server2019数据库备份与还原脚本,数据库可批量备份
Nov 20 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
使用MybatisPlus打印sql语句
Apr 22 SQL Server
SQL Server 中的事务介绍
May 20 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
SQL使用复合索引实现数据库查询的优化
May 25 SQL Server
SQL Server2019安装的详细步骤实战记录(亲测可用)
Jun 10 SQL Server
SQL Server使用T-SQL语句批处理
May 20 #SQL Server
SQL Server 中的事务介绍
May 20 #SQL Server
SQL Server中锁的用法
May 20 #SQL Server
SQL Server中使用表变量和临时表
May 20 #SQL Server
SQL Server中的游标介绍
May 20 #SQL Server
SQL Server #{}可以防止SQL注入
May 11 #SQL Server
SQL Server 忘记密码以及重新添加新账号
You might like
PHP安装全攻略:APACHE
2006/10/09 PHP
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
js实现网页版贪吃蛇游戏
2020/02/22 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
终端命令查看TensorFlow版本号及路径的方法
2018/06/13 Python
python中shell执行知识点
2020/05/06 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
化学实验员岗位职责
2013/12/28 职场文书
2015年除四害工作总结
2015/07/23 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
2016年“5.12”国际护士节活动总结
2016/04/06 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
Redis 常见使用场景
2021/08/30 Redis