Ich versuche, einen Bericht zu erstellen, der Daten aus einer aufgerufenen Tabelle auswählt costomersHR
. Ich kann es nicht finden, da wir Hunderte von Datenbanken in der Instanz haben.
Wie kann ich in der gesamten Instanz nach einer Tabelle suchen?
sql-server
instance
Alonk
quelle
quelle
Antworten:
Um es durch Code zu tun ...
1) Wenn Sie davon ausgehen können, dass sich diese Tabelle im
dbo
Schema befindet.2) Andernfalls könnten Sie alle Datenbanken (und Abfragen
sys.tables
in jeder) mit so etwas wie diesem Code durchlaufen, um eine zuverlässigere und flexiblere sp_MSforeachdb zu erhaltenquelle
OBJECT_ID
Verbindung zur gesuchten Tabelle herzustellen, nach der wir suchen. Wenn der Wert ungleich Null zurückgegeben wird, wird die aufgerufene Tabelle[dbo].[costomersHR]
gefunden und die Namen der Datenbanken für übereinstimmende Zeilen zurückgegeben.[dbname].[dbo].[costomersHR]
für jede Online-Datenbank durch Ersetzen des Datenbanknamens. DieOBJECT_ID
Funktion wird zurückgegeben,NULL
wenn sie nicht vorhanden ist.Sie können dieses Tool RedGate SQL Search verwenden . Es funktioniert wirklich toll.
quelle