Ich habe (zu Testzwecken) viele dbs mit dem gleichen Schema (= gleiche Tabellen und Spalten im Grunde) auf einer SQL Server 2008 R2-Instanz.Wie wird dieselbe Abfrage für alle Datenbanken einer Instanz ausgeführt?
ich möchte eine Abfrage wie
SELECT COUNT(*) FROM CUSTOMERS
auf alle DBs auf der Instanz. Ich möchte als Ergebnis 2 Spalten haben:
1 - der DB-Name
2 - der Wert COUNT(*)
Beispiel:
DBName // COUNT (*)
TestDB1 // 4
MyDB // 5
etc...
Anmerkung: Ich gehe davon aus, dass CUSTOMERS
Tabelle vorhanden in allen dbs (außer master
).
Hallo Devart, ich benutze diese SQL und funktioniert gut. Ist es jedoch möglich, eine Prüfung hinzuzufügen, wenn der Benutzer, der diese Abfrage ausführt, Zugriff auf jede Datenbank hat oder nicht, und wenn dies nicht der Fall ist, sollte die Abfrage weiterhin ausgeführt werden und nur die Datenbanken zurückgeben, auf die der Benutzer Zugriff hat. Was ich danach suche, ist, ob der Benutzer DBO-Rollenrechte für jede der Datenbanken hat und wenn nicht, gehe zum nächsten. Bitte berate dich. – DK2014