Mittendrin.

Zurück

Flurfunk der eXperts.

Hier erfahren Sie mehr über eXperts, Technologien und das wahre Leben in der SDX.

“Find Usage” in SQL

10.06.201508:08 Uhr , Alexander Kabisch

Beim Reverse Engineering von Code gibt es mittlerweile viele hilfreiche Tools für den Entwickler. Visual Studio bietet beispielsweise Möglichkeiten wie “Find All References” sogar innerhalb von Database Projekten in SQL an. Mitunter liegen die Sourcen aber weder in Visual Studio noch als Dateien vor.

“View Dependencies” im SQL Management Studio hilft oft schon weiter, stößt aber bei detaillierteren Suchen schnell an seine Grenzen.dependencies

Aber anstatt den Code nun aus dem SQL Server zu exportieren, kann man OBJECT_DEFINITION verwenden und ihn mit WHERE-Statements durchsuchen:

   1: SELECT

   2:     Name

   3: FROM

   4: (

   5:     SELECT

   6:         S.Name +  '.' + F.NAME as [Name],

   7:         OBJECT_DEFINITION(object_id) as [sql]

   8:     FROM sys.objects as F

   9:     INNER JOIN sys.schemas as S

  10:     ON F.schema_id = s.schema_id

  11:     WHERE F.type IN

  12:     (

  13:          'TF'-- SQL_TABLE_VALUED_FUNCTION

  14:         ,'FN'-- SQL_SCALAR_FUNCTION

  15:         ,'IF'-- SQL_INLINE_TABLE_VALUED_FUNCTION

  16:

  17:         ,'P '-- SQL_STORED_PROCEDURE

  18:     )

  19: ) AS T

  20: WHERE [sql] LIKE '%xyz%'

  21: ORDER BY Name

Suchen wie

  • Wo wurde die Spalte xyz verwendet?
  • Wo wurde der String ‘XYZ’ gesetzt?
  • Wo hatte ich das TODO hinterlassen?

lassen sich so auch in Projekten ohne SQL Sourcen sehr schnell durchführen.

Tags: SQL Server

2 Kommentare

04.06.201614:09 Uhr
Anonymous

This post have resolved our problem,thank you very much and hope you writting more good articles.

09.06.201616:52 Uhr
Simone Franz

Schön, dass wir Dir weiterhelfen konnten und danke für Dein Feedback.

Dein Kommentar wartet auf Freischaltung.

Artikel kommentieren

Zurück

Tag Cloud