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.xtype

WHERE 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

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.