Se você estiver usando o SQL Server por meio de uma interface de linha de comando, provavelmente não verá uma lista persistente de bancos de dados como faria normalmente ao usar uma GUI (como SSMS ou Azure Data Studio).
Nesses casos, você pode usar o
sp_databases
procedimento armazenado do sistema para retornar uma lista de bancos de dados. Esse procedimento armazenado lista especificamente os bancos de dados que residem em uma instância do SQL Server ou são acessíveis por meio de um gateway de banco de dados. Esta é provavelmente a maneira mais rápida e fácil de listar todos os bancos de dados usando T-SQL. Você pode simplesmente digitar
sp_databases
para uma lista de bancos de dados, ou para ser mais explícito, EXEC sp_databases
. Sintaxe
A sintaxe fica assim:
sp_databases
Isso é tudo que existe. Nenhum argumento é necessário ou aceito.
Exemplo
Aqui está um exemplo de uso.
EXEC sp_databases;
Aqui está o resultado que recebo em um dos meus ambientes de teste:
+--------------------+-----------------+-----------+ | DATABASE_NAME | DATABASE_SIZE | REMARKS | |--------------------+-----------------+-----------| | master | 6592 | NULL | | model | 16384 | NULL | | msdb | 15872 | NULL | | Music | 16384 | NULL | | MyDB | 16384 | NULL | | tempdb | 24576 | NULL | | Test | 16384 | NULL | | WideWorldImporters | 3248128 | NULL | | world | 16384 | NULL | +--------------------+-----------------+-----------+
E se isso for muito para digitar, aqui está sem o
EXEC
:sp_databases
Isso retorna os mesmos resultados.
Bancos de dados em um servidor vinculado
Se você precisar obter uma lista de bancos de dados de um servidor vinculado, use
sp_catalogs
ao passar o nome do servidor vinculado. Consulte Listar todos os bancos de dados de um servidor vinculado no SQL Server para obter mais informações e exemplos.