Find all references to an object in an SQL Server database

后端 未结 10 1708
深忆病人
深忆病人 2020-12-13 10:02

I\'m trying to find all references to an object in an SQL Server database.

How can I quickly search? SQL Server Management Studio does not seem to do it. I use http:

10条回答
  •  时光取名叫无心
    2020-12-13 10:32

    In SQL Server 2000 here is a query that can search inside object definitions, supporting search strings of up to 2000 characters. It uses the chunks in the syscomments table.

    SELECT O.name, O.xtype
    FROM sysobjects O
    WHERE EXISTS (
       SELECT *
       FROM
          (
             SELECT
                Chunk = Substring(C1.text, T.Offset, 4000)
                    + Coalesce(Substring(C2.text, 1, T.AdditionalLength), '')
             FROM
                syscomments C1
                CROSS JOIN (
                   SELECT 1, 0
                   UNION ALL
                   SELECT 2001, 2000
                ) T (Offset, AdditionalLength)
                LEFT JOIN syscomments C2
                   ON C1.id = C2.id
                   AND C1.colid + 1 = C2.colid
                   AND T.Offset > 1
             WHERE
                O.id = C1.id
          ) C
       WHERE
          Chunk LIKE '%search string%'
    );
    

提交回复
热议问题