sql >> Databasteknik >  >> RDS >> Sqlserver

Lista alla databaser från en länkad server i SQL Server (T-SQL-exempel)

I SQL Server kan du använda sp_catalogs systemlagrad procedur för att returnera en fullständig lista över databaser på en länkad server.

Strängt taget returnerar denna lagrade procedur listan med kataloger i den angivna länkade servern. Detta motsvarar databaser i SQL Server.

Syntax

Syntaxen ser ut så här:

sp_catalogs [ @server_name = ] 'linked_svr'

@server_name argument är namnet på den länkade servern som du vill ha listan över databaser från.

Exempel

Här är ett exempel på att returnera en lista med databaser från en länkad server som heter Homer.

EXEC sp_catalogs @server_name = 'Homer';

Det kan också köras så här:

EXEC sp_catalogs 'Homer';

Resultat:

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

I det här fallet finns det 14 databaser på den länkade servern.

Den lagrade proceduren returnerar katalog-/databasnamnet och dess beskrivning, om det finns en. I det här fallet finns ingen beskrivning tillgänglig för någon av databaserna.


  1. Lagra filer i databas kontra filsystem

  2. Salesforce SOQL från Apache OpenOffice

  3. Introduktion till specialfrågor

  4. Hur man uppdaterar rader med ett slumpmässigt datum