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 相关文章推荐
SqlServer: 如何更改表的文件组?(进而改变存储位置)
Apr 05 SQL Server
SQL Server连接查询的实用教程
Apr 07 SQL Server
SQLServer2019 数据库环境搭建与使用的实现
Apr 08 SQL Server
SQL Server中交叉联接的用法详解
Apr 22 SQL Server
如何有效防止sql注入的方法
May 25 SQL Server
sql查询结果列拼接成逗号分隔的字符串方法
May 25 SQL Server
SQL Server数据库查询出现阻塞之性能调优
Apr 10 SQL Server
使用MybatisPlus打印sql语句
Apr 22 SQL Server
SQL Server中使用表变量和临时表
May 20 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
SQL Server中的逻辑函数介绍
May 25 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
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
2010/05/24 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
jqTransform美化表单
2015/10/10 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
Vue路由守卫之路由独享守卫
2019/09/25 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
Python标准库之collections包的使用教程
2017/04/27 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
浅谈Python反射 & 单例模式
2019/03/21 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
python调用摄像头的示例代码
2020/09/28 Python
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
Footshop罗马尼亚:最好的运动鞋选择
2019/09/10 全球购物
咖啡厅创业计划书范本
2014/01/22 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
美食节目策划方案
2014/05/31 职场文书
2014年检验员工作总结
2014/11/19 职场文书
汽车销售合同文本
2019/08/08 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
nginx配置之并发频次限制
2022/04/18 Servers
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers