sql >> Base de Datos >  >> RDS >> Sqlserver

Listar todas las bases de datos de un servidor vinculado en SQL Server (ejemplos de T-SQL)

En SQL Server puede usar sp_catalogs procedimiento almacenado del sistema para devolver una lista completa de bases de datos en un servidor vinculado.

Estrictamente hablando, este procedimiento almacenado devuelve la lista de catálogos en el servidor vinculado especificado. Esto es equivalente a las bases de datos en SQL Server.

Sintaxis

La sintaxis es así:

sp_catalogs [ @server_name = ] 'linked_svr'

El @server_name argumento es el nombre del servidor vinculado del que desea obtener la lista de bases de datos.

Ejemplo

Aquí hay un ejemplo de devolver una lista de bases de datos de un servidor vinculado llamado Homer.

EXEC sp_catalogs @server_name = 'Homer';

También se puede ejecutar así:

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          |
+----------------------+---------------+

En este caso, hay 14 bases de datos en el servidor vinculado.

El procedimiento almacenado devuelve el nombre del catálogo/base de datos y su descripción, si existe. En este caso, no hay descripción disponible para ninguna de las bases de datos.