TSQL: Tabellen, Views und Stored-Procedures durchsuchen
Das Problem
Immer wieder steht man als Entwickler vor der Aufgabe nach den Vorkommen bestimmter Spaltennamen oder auch dem Inhalt von Stored-Procedures zu suchen.
Die Lösung
Anstatt sich nun aber mühsam durch die einzelnen Tabellen oder Stored-Procedures durchzuklicken kann man auch ein paar kleine SQL-Schnipsel verwenden.
Tabellen/Views nach Spaltennamen durchsuchen
Um nach Spaltennamen in allen Tabellen oder Views einer Datenbank zu suchen kann folgender SQL-Schnipsel verwendet werden:
— Tabellen nach Spaltennamen durchsuchen
— nach http://www.fractalcenter.de/2010/08/tabellenspaltennamen-in-mssql-suchen/SELECT
sysobjects.name AS ‘table_name’, syscolumns.name AS ‘column_name’,
systypes.name AS ‘datatype’, syscolumns.length as ‘length’FROM sysobjects
INNER JOIN syscolumns ON sysobjects.id = syscolumns.id
INNER JOIN systypes ON syscolumns.xtype = systypes.xtypeWHERE syscolumns.name like ‘%Volumen%’ — gesuchter Spaltenname
ORDER BY sysobjects.name,syscolumns.colid
Stored-Procedures nach Textteilen durchsuchen
Um nach dem Inhalt von Stored Procedures in einer Datenbank zu suchen kann folgender SQL-Schnipsel verwendet werden:
— Stored-Procedures nach Textteilen durchsuchen
— nach http://www.fractalcenter.de/2010/09/
SELECT
ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE=‘PROCEDURE’
AND ROUTINE_DEFINITION LIKE ‘%SP-Inhalt%’
Fazit
Obwohl es bei Verwendung eines Visual-Studio-Datenbankprojekts eine einfache Möglichkeit gibt, das Datenbank-Schema zu durchsuchen kann es immer mal wieder sein, dass Datenbanken durchsucht werden müssen, für die es kein VS-Datenbankprojekt gibt (z.B. Datenbanken von Fremdsystemen). Diese SQL-Schnipsel sind dann ideal um sich das Leben leichter zu machen.
Links
[2] http://www.fractalcenter.de/2010/08/tabellenspaltennamen-in-mssql-suchen/