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.
Antworten
Zu viele Anzeigen?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
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.
- See previous answers
- Weitere Antworten anzeigen