I SQL Server kan du bruge sp_catalogs
systemlagret procedure for at returnere en komplet liste over databaser på en sammenkædet server.
Strengt taget returnerer denne lagrede procedure listen over kataloger i den angivne linkede server. Dette svarer til databaser i SQL Server.
Syntaks
Syntaksen ser sådan ud:
sp_catalogs [ @server_name = ] 'linked_svr'
@server_name
argument er navnet på den sammenkædede server, som du vil have listen over databaser fra.
Eksempel
Her er et eksempel på returnering af en liste over databaser fra en sammenkædet server kaldet Homer.
EXEC sp_catalogs @server_name = 'Homer';
Det kan også køres sådan her:
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 dette tilfælde er der 14 databaser på den sammenkædede server.
Den lagrede procedure returnerer kataloget/databasenavnet og dets beskrivelse, hvis der er en. I dette tilfælde er der ingen beskrivelse tilgængelig for nogen af databaserne.