Abfragen von SQL Server-Daten-dictionary zu finden, die alle Datenbanken mit Tabelle 'x'
Ich bin nicht allzu vertraut mit den SQL Server data dictionary, aber ich bin davon ausgegangen, was ich versuche zu tun, ist möglich.
Wir haben eine Reihe von replizierten Datenbanken, die unter verschiedenen Namen sagen:
Client1
Client2
Client3
Anstatt verlassen Sie sich auf eine Namenskonvention, ich hatte gehofft, um diese zu identifizieren Datenbanken, basierend auf, ob Sie auch einen Schlüssel-Tabelle, nennen es MyTable. So zu denken begann eine Abfrage wie die folgende notwendig:
SELECT db.name
FROM sys.databases db
JOIN sys.tables tbl ON ??
WHERE tbl.Name = 'MyTable'
Funktioniert das nicht, da ich nicht sehen kann, wie join sys.Tabellen sys.Datenbanken, die direkt oder indirekt, und auch die sys.Tabellen ist eine Ansicht basierend auf der aktiven Datenbank, anstatt einen vollständigen Satz von Tabellen für alle Datenbanken.
Kann jemand identifizieren, eine geeignete Abfrage für diese situation?
InformationsquelleAutor MattH | 2009-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen die nicht dokumentierte sp_msforeachdb
Nur so in den Sinn kommt, es zu tun, wie eine Abfrage zum erstellen der select-Anweisung dynamisch (insert standard-dynamische sql-Warnung/Ablehnung hier)
*ANMERKUNG ich fügte hinzu, einige Kriterien für den Staat und die Sortierung der verfügbaren Datenbanken.
InformationsquelleAutor cmsjr