477 Stimmen

Liste der Datenbanken von SQL Server abrufen

Wie kann ich die Liste der verfügbaren Datenbanken auf einer SQL Server-Instanz abrufen? Ich plane, eine Liste von ihnen in einem Kombinationsfeld in VB.NET zu machen.

753voto

Ben Hoffstein Punkte 99969

Ausführen:

SELECT name FROM master.sys.databases

Dies ist jetzt der bevorzugte Ansatz, anstatt dbo.sysdatabases die schon seit einiger Zeit veraltet ist.


Führen Sie diese Abfrage aus:

SELECT name FROM master.dbo.sysdatabases

oder wenn Sie es vorziehen

EXEC sp_databases

96voto

GilShalit Punkte 5598

In Anbetracht der Unklarheit über die Anzahl der Nicht-Benutzer-Datenbanken sollten Sie wahrscheinlich hinzufügen:

WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');

und fügen Sie die Namen der Datenbanken der Berichtsdienste hinzu

62voto

GilM Punkte 3623

So schließen Sie Systemdatenbanken aus:

SELECT [name]
FROM master.dbo.sysdatabases
WHERE dbid > 6

Bearbeitet : 2:36 PM 2/5/2013

Aktualisiert mit der genauen database_id, die größer als 4 sein sollte, um die Auflistung von Systemdatenbanken zu überspringen, die eine Datenbank-ID zwischen 1 und 4 haben.

SELECT * 
FROM sys.databases d
WHERE d.database_id > 4

35voto

Balaji Punkte 1325

Lassen Sie sich nicht verwirren, verwenden Sie die folgende einfache Abfrage, um alle Datenbanken zu erhalten,

select * from sys.databases

Wenn Sie nur die benutzerdefinierten Datenbanken benötigen;

select * from sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb'); 

Einige der Systemdatenbanknamen sind (Ressource, Distribution, Reportservice, Reportservicetempdb), fügen Sie sie einfach in die Abfrage ein. Wenn Sie die oben genannten Datenbanken auf Ihrem Rechner als Standard haben.

30voto

Frank Punkte 289
SELECT [name] 
FROM master.dbo.sysdatabases 
WHERE dbid > 4 

Funktioniert auf unserem SQL Server 2008

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X