How to find a text inside SQL Server procedures / triggers?

后端 未结 14 807
一个人的身影
一个人的身影 2020-12-04 04:48

I have a linkedserver that will change. Some procedures call the linked server like this: [10.10.100.50].dbo.SPROCEDURE_EXAMPLE. We have triggers also doing thi

14条回答
  •  南笙
    南笙 (楼主)
    2020-12-04 05:12

    -- Declare the text we want to search for
    DECLARE @Text nvarchar(4000);
    SET @Text = 'employee';
    
    -- 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');
    

提交回复
热议问题