Como listar os databases do meu servidor?

 

A maneira mais segura de extrair informações do schema do SQL Server é através das system procedures:


EXEC sp_databases
EXEC sp_helpdb

 

Você também pode usar as tabelas do sistema, mas esta abordagem não é a mais recomendada, pois tabelas de sistema podem ser alteradas em versões futuras do SQL Server.

 

SELECT name 
    FROM master..sysdatabases 
    ORDER BY name

 

E finalmente, você pode usar a procedure não documentada sp_msForEachDB:

 

EXEC sp_msForEachDB 'PRINT ''?'''

 

No SQL Server 2000, você poderia usar a view INFORMATION_SCHEMA, porém – por causa do novo suporte para schema – esta view não possui o mesmo comportamento no SQL Server 2005:

 

SELECT CATALOG_NAME
    FROM INFORMATION_SCHEMA.SCHEMATA
    ORDER BY CATALOG_NAME
 

 

Para SQL Server 2005, você pode usar algumas das seguintes opções:

 

EXEC sp_databases 
 
EXEC sp_helpdb 
 
SELECT * FROM sys.databases 
 
SELECT * FROM sys.sysdatabases 
 
EXEC sp_msForEachDB 'PRINT ''?'''