Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Listar todos os bancos de dados de um servidor vinculado no SQL Server (Exemplos de T-SQL)


No SQL Server você pode usar o sp_catalogs procedimento armazenado do sistema para retornar uma lista completa de bancos de dados em um servidor vinculado.

Estritamente falando, esse procedimento armazenado retorna a lista de catálogos no servidor vinculado especificado. Isso é equivalente a bancos de dados no SQL Server.


Sintaxe


A sintaxe fica assim:
sp_catalogs [ @server_name = ] 'linked_svr'

O @server_name argumento é o nome do servidor vinculado do qual você deseja a lista de bancos de dados.

Exemplo


Aqui está um exemplo de retorno de uma lista de bancos de dados de um servidor vinculado chamado Homer.
EXEC sp_catalogs @server_name = 'Homer';

Também pode ser executado assim:
EXEC sp_catalogs 'Homer';

Resultado:
+----------------------+---------------+
| CATALOG_NAME         | DESCRIPTION   |
|----------------------+---------------|
| BandTest             | NULL          |
| CompareTypes         | NULL          |
| EMS                  | NULL          |
| ExamineDateTime2     | NULL          |
| FK_Test              | NULL          |
| master               | NULL          |
| model                | NULL          |
| msdb                 | NULL          |
| Music                | NULL          |
| PK_Test              | NULL          |
| tempdb               | NULL          |
| Test                 | NULL          |
| Test2                | NULL          |
| WideWorldImportersDW | NULL          |
+----------------------+---------------+

Nesse caso, existem 14 bancos de dados no servidor vinculado.

O procedimento armazenado retorna o nome do catálogo/banco de dados e sua descrição, se houver. Nesse caso, nenhuma descrição está disponível para nenhum dos bancos de dados.