sql server 查找包含字符串的对象

SELECT sm.object_id, OBJECT_NAME(sm.object_id) AS object_name, o.type, o.type_desc, sm.definition
FROM sys.sql_modules AS sm
JOIN sys.objects AS o ON sm.object_id = o.object_id
where sm.definition like ‘%要匹配的内容%‘ --collate SQL_Latin1_General_CP1_CI_AS
ORDER BY o.type;
GO

select OBJECT_NAME(id) AS object_name,text
from syscomments
where text like ‘%要匹配的内容%‘

-- Declare the text we want to search for
DECLARE @Text nvarchar(4000);
SET @Text = ‘要匹配的内容‘;
-- Get the schema name, table name, and table type for:
-- Table names
SELECT
       TABLE_SCHEMA  AS ‘Object Schema‘
      ,TABLE_NAME    AS ‘Object Name‘
      ,TABLE_TYPE    AS ‘Object Type‘
      ,‘Table Name‘  AS ‘TEXT Location‘
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE ‘%‘+@Text+‘%‘
UNION
 --Column names
SELECT
      TABLE_SCHEMA   AS ‘Object Schema‘
      ,COLUMN_NAME   AS ‘Object Name‘
      ,‘COLUMN‘      AS ‘Object Type‘
      ,‘Column Name‘ AS ‘TEXT Location‘
FROM  INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE ‘%‘+@Text+‘%‘
UNION
-- Function or procedure bodies
SELECT
      SPECIFIC_SCHEMA     AS ‘Object Schema‘
      ,ROUTINE_NAME       AS ‘Object Name‘
      ,ROUTINE_TYPE       AS ‘Object Type‘
      ,ROUTINE_DEFINITION AS ‘TEXT Location‘
FROM  INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE ‘%‘+@Text+‘%‘
      AND (ROUTINE_TYPE = ‘function‘ OR ROUTINE_TYPE = ‘procedure‘);
时间: 2024-10-31 10:42:59

sql server 查找包含字符串的对象的相关文章

sql server 查找指定字符串的位置

create function fn_find(@find varchar(8000), @str varchar(8000), @n smallint) returns int as begin if @n < 1 return (0) declare @start smallint, @count smallint, @index smallint, @len smallint set @index = charindex(@find, @str) if @index = 0 return

用SQL语句查找包含有某个关键字的存储过程、触发器、函数等(仅适用MS SQL SERVER)

原文:用SQL语句查找包含有某个关键字的存储过程.触发器.函数等(仅适用MS SQL SERVER) 第一种方法:利用系统表进行查询 --将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' xtype:对象类型.可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F

SQL Server 查找统计信息的采样时间与采样比例

原文:SQL Server 查找统计信息的采样时间与采样比例 有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题.那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的.那么我们如何判断统计信息不准确呢?当然首先得去查看实际执行计划中,统计信息的相关数据是否与实际情况有较大的出入,下面我们抛开这个大命题,仅仅从统计信息层面去查看统计信息的更新时间,统计信息的采样行数.采样比例等情况. 1:首先,我们要查查统计信

第三篇 SQL Server安全主体和安全对象

本篇文章是SQL Server安全系列的第三篇,详细内容请参考原文. 一般来说,你通过给主体分配对象的权限来实现SQL Server上的用户与对象的安全.在这一系列,你会学习在SQL Server实例中通过权限授权来执行操作及访问安全对象.在SQL Server中重要的主体是角色,你会学习角色可以让安全管理比使用单独用户更容易.你也会学习SQL Server的安全对象.授权Authentication is only part of accessing all of the goodies in

SQL Server 查找表问题

使用以下SQL遍历表,查询是否有问题 DECLARE @table_name VARCHAR(50) DECLARE cursor_table CURSOR FOR SELECT name FROM sys.tables OPEN cursor_table FETCH next FROM cursor_table INTO @table_name WHILE( @@FETCH_STATUS = 0 ) BEGIN DBCC checktable(@table_name) PRINT ' ' PR

SQL Server中截取字符串常用函数

SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( '源字符串' , '要截取最左边的字符数' ) 返回从字符串左边开始指定个数的字符 select LEFT('SQL_Server_2008',4 ); 返回结果:SQL_ 2.RIGHT ( character_expression , integer_expression ) 函数说明:RIGHT ( '源字符串'

SQL Server 2008连接字符串写法大全

SQL Server 2008连接字符串写法大全 一..NET Framework Data Provider for SQL Server 类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft 标准安全连接 Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword;

SQL Server中查询用户的对象权限和角色的方法

--SQL Server中查询用户的对象权限和角色的方法 -- 查询用户的object权限 exec sp_helprotect NULL, 'sa' -- 查询用户拥有的role exec sp_helpuser 'public' -- 查询哪些用户拥有指定的系统role exec sp_helpsrvrolemember 'sysadmin' -- 可查询嵌套role WITH tree_roles as ( SELECT role_principal_id, member_principa

SQL Server中授予用户查看对象定义的权限

  在SQL Server中,有时候需要给一些登录名(用户)授予查看所有或部分对象(存储过程.函数.视图.表)的定义权限存.如果是部分存储过程.函数.视图授予查看定义的权限,那么就像下面脚本所示,比较繁琐: GRANT VIEW DEFINITION ON  YOUR_PROCEDURE TO   USERNAME; GRANT VIEW DEFINITION ON  YOUR_FUNCTION TO USERNAME; GRANT VIEW DEFINITION ON  YOUR_VIEW T