MS SQL Die suche nach einem Wort

MS SQL Die suche nach einem Wort

Ich stand gerade vor einem Problem, ich wusste das Wort aber weder in welcher Tabelle oder Spalte meiner MS SQL Datenbank dies zu finden wäre.
Folgendes SQL Statement führte mich zum Ziel.

Als ersten Step generieren wir eine reihe an SQL Select Statements die uns die Suche eingrenzen lassen.

1
2
3
4
5
6
7
SELECT 'select distinct ''gefunden in Tabelle '
+ TABLE_NAME + ' Spalte '
+ column_name + ' '' from ' + TABLE_NAME
+ ' where ' + column_name + ' like ''%gesuchteswort%'' union all '
FROM information_schemaCOLUMNS
WHERE data_type IN ('varchar','text','nchar')
ORDER BY 1

Den Platzhalter ersetzen wir durch unser Wort und die “data_type” müssen entsprechend angepasst werden.
In meinem Fall reichten die angegeben 3 Datentypen und man bekommt als Ergebnis alle Tabellen/Spalten aufgelistet die dem Datentyp entsprechen fix fertig mit Suchwort als Select Anweisung.

Das ergebnis dieser Abfrage kopieren wir uns nun in ein neues Abfrage Fenster und löschen in der letzten Zeile das “union all”.
Unter umständen kann es sein dass ihr die Menge an Abfragen reduzieren müsst, bei mir funktionierten bis zu 1000 gleichzeitig.

Das Ergebnis dieser Abfrage liefert uns nun wiederum in welcher Tabelle und welcher Spalte sich unser Suchwort befindet.
Ab hier kann dann mit normalen SQL select Statements weiter gearbeitet werden.

Viel Spaß damit!


wallpaper-1019588
Deutscher Simuldub zu “I Was Reincarnated as the 7th Prince” gestartet
wallpaper-1019588
Final Fantasy XII – Brettspiel zum PS2-Klassiker angekündigt
wallpaper-1019588
Super Nintendo World – „Donkey Kong Country“-Eröffnung verschoben
wallpaper-1019588
Pokémon Karmesin und Purpur – Neues Tera-Raid-Event am Wochenende