Textsuche in allen Tabellen einer Microsoft SQL Server Datenbank


Wer kennt das nicht, in der Oberfläche einer Anwendung sieht man einen Wert der in einer Microsoft SQL Server Datenbank gespeichert ist.

Im Fehlerfall möchte man wissen in welcher Tabelle der Datenbank der Text gespeichert ist.

Das hilft sehr oft, um schneller herauszufinden, wo der Fehler beim Arbeiten in die Datenbank sein könnte, wenn man Fehlermeldungen erhält, die auf eine Datenbank Fehlermeldung hinweisen.

Da das Auffinden dieses gesuchten Texte in allen Spalten der Tabellen einer Datenbank fast unmöglich ist oder zumindest viel Zeit kosten wird, habe ich hierfür eine Store Procedure geschrieben, die das übernimmt.

Dabei werden nur Spalten mit textbasierten Datentypen (char, varchar, nchar, nvarchar) in Tabellen durchsucht.

Die Suche kann bei größeren Datenbanken selbstredend lang dauern, aber das warten lohnt sich …

Nachfolgend der T-SQL Code für die Store Procedure:

1
2
3
4
CREATE PROCEDURE [dbo].[proc_SearchTextInAllTables]
  @SEARCHPATTERN NVARCHAR(1024) -- Text to search in all data tables from database
AS
BEGIN ...

Wenn du das komplette T-SQL Skript sehen möchtest, melde dich mit deinem Konto auf centralblogger an oder registriere dich jetzt und werde Mitglied der Community.

Schließen

Wie immer zum Schluss der Hinweis, das ich keine Verantwortung für die Richtigkeit des Codes übernehme. Der Gebrauch ist deshalb auf eigene Gefahr.

Happy Coding und Gruß Torsten

RSS Feed   RSS Feed: Keinen Beitrag auf centralblogger verpassen!

Facebook:

Twitter:

Schreibe einen Kommentar

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

Bei Kommentaren auf centralblogger werden zum Kommentartext zusätzlich Erstellungszeitpunkt und E-Mail-Adresse gespeichert.

blank