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
SQL 窗口函数实现高效分页查询的案例分析
May 21 SQL Server
解决sql server 数据库,sa用户被锁定的问题
Jun 11 SQL Server
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
Jun 30 SQL Server
SQLServer之常用函数总结详解
Aug 30 SQL Server
Windows环境下实现批量执行Sql文件
Oct 05 SQL Server
MySQL 中如何归档数据的实现方法
Mar 16 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
Mar 18 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
SQL使用复合索引实现数据库查询的优化
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
PHP脚本数据库功能详解(下)
2006/10/09 PHP
PHP 多维数组的排序问题 根据二维数组中某个项排序
2011/11/09 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
php header功能的使用
2013/10/28 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
2015/08/17 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
python快速查找算法应用实例
2014/09/26 Python
python关键字and和or用法实例
2015/05/28 Python
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
CSS3样式linear-gradient的使用实例
2017/01/16 HTML / CSS
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
老师对学生的评语
2014/04/18 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
python​格式化字符串
2022/04/20 Python
win10蓝屏0xc0000001安全模式进不了怎么办?win10出现0xc0000001的解决方法
2022/08/05 数码科技