Home > Link, Microsoft SQL Server, MSBI, Optimization, Query, Script, SQL Mentalist, SQL PraRup, SQL Query, SQL Server, Technology,, TSQL, Vishal Pawar > BI SQL # 192 : SQL Server DBA Scripts : Search string or pattern in SQL module definition

BI SQL # 192 : SQL Server DBA Scripts : Search string or pattern in SQL module definition

Hi Folks,

In this article we are going to cover How to Search string or pattern in SQL module definition.

In this post we are going to discuss following points:

  • Problem Statement of SQL Script:
  • Description of SQL Script:
  • SQL Script Output Column
  • Input Parameter of SQL Script
  • SQL Script Code
  • SQL Script Output Screenshot
  • User Level to execute

Problem Statement of SQL Script:

Search string or pattern in SQL module definition.

Description of SQL Script:

This Script search through all module definition of trigger, stored procedure, functions etc. for a pattern.

SQL Script Output Column

image

Input Parameter of SQL Script

@pattern NVARCHAR (100)

SQL Script Code

DECLARE @pattern NVARCHAR(100);

SET @pattern = '%INSTEAD OF%';-- The search pattern. 
    ;

WITH def
AS (
    SELECT SCH.NAME + '.' + OBJ.NAME AS ObjectName
        ,OBJ.type_desc AS ObjectType
        ,OBJ.modify_date AS ObjectModifyDate
        ,PARSCH.NAME + '.' + PAROBJ.NAME AS ParentName
        ,PAROBJ.type_desc AS ParentType
        ,MDL.DEFINITION AS SqlDefinition
        ,PATINDEX(@pattern, MDL.DEFINITION) AS PosIndex
    FROM sys.sql_modules AS MDL
    INNER JOIN sys.objects AS OBJ ON MDL.object_id = OBJ.object_id
    INNER JOIN sys.schemas AS SCH ON OBJ.schema_id = SCH.schema_id
    LEFT JOIN sys.objects AS PAROBJ ON OBJ.parent_object_id = 
        PAROBJ.object_id
    LEFT JOIN sys.schemas AS PARSCH ON PAROBJ.schema_id = PARSCH.
        schema_id
    WHERE MDL.DEFINITION LIKE @pattern
    )
SELECT def.ObjectName
    ,def.ObjectType
    ,def.ObjectModifyDate
    ,def.ParentName
    ,def.ParentType
    ,CASE 
        WHEN def.PosIndex = 0
            THEN '?'
        ELSE SUBSTRING(def.SqlDefinition, def.PosIndex - 10, LEN(
                    @pattern) + 20)
        END AS FoundPartDef
    ,def.SqlDefinition
FROM def
ORDER BY def.ObjectName

SQL Script Output Screenshot

image

User Level to execute

200

    Hope you will like to How to Search string or pattern in SQL module definition.

    If you really like reading my blog and understood at least few thing then please don’t forget to subscribe my blog.

If you want daily link and analysis or interesting link go to following website which will give @ your inbox please subscribe our following link resource blog :

Link Resource Website

For More information related to BI World visit my Mentalist Blog

SQL Server Mentalist >> SQL Learning Blog

Business Intelligence Mentalist >> BI World

Infographic Mentalist >> Image worth explaining thousand Words

Microsoft Mentalist >> MVC,ASP.NET, WCF & LinQ

DBA Mentalist >>Advance SQL Server Blog

Microsoft BI Mentalist >> MS BI Development Update

Connect With me on

| FaceBook |Twitter | linkedIn| Google+ | WordPress | RSS |

Advertisement
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: