2009-05-16 5 views
53

Ich brauche eine SQL-Abfrage, um die Namen der vorhandenen Datenbanken zu finden.SQL Server-Abfrage, um alle aktuellen Datenbanknamen zu finden

+6

Hallo Bob Jones! Bitte stellen Sie sicher, dass Sie die Antwort als korrekt/akzeptiert akzeptieren, um zukünftigen Nutzern zu helfen. –

+1

@BobJones Es sieht so aus, als gäbe es da unten eine Antwort, die für dich funktionieren würde - könntest du eine akzeptieren, um zukünftigen Nutzern zu helfen? – Cullub

Antwort

64

Hier ist eine Abfrage für alle Datenbanken in einem Motor Sql zeigt

Select * from Sys.Databases 
2

This forum schlägt auch:

SELECT CATALOG_NAME AS DataBaseName 
FROM INFORMATION_SCHEMA.SCHEMATA 
+1

Das hat auf meinem Rechner nicht funktioniert. MSDN sagt, es soll "eine Zeile für jede Datenbank enthalten, die Berechtigungen für den aktuellen Benutzer hat". Die Ergebnisse waren jedoch auf die aktuelle Datenbank beschränkt. "SELECT * FROM sysdatabases" funktioniert besser für mich. – beach

43
SELECT name 
FROM sys.databases 

Sie nur die Datenbanken sehen werden Du hast die Erlaubnis zu sehen.

9

Ein weiterer der Mischung hinzuzufügen:

EXEC sp_databases 
5

ich diese Methode nicht empfehlen ... aber wenn man verrückt und seltsam gehen:

EXEC sp_MSForEachDB 'SELECT ''?'' AS DatabaseName' 

oder

1

Für Leute, bei denen " sys.databases" nicht funktioniert, Sie können dies auch verwenden;

SELECT DISTINCT TABLE_SCHEMA from INFORMATION_SCHEMA.COLUMNS 
+0

dies wird table_schema z.B. 'dbo' ist kein Name von DB – tukan

Verwandte Themen