Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

T-SQL pour trouver le nom du serveur distant du serveur lié

Parfois, il arrive que vous ayez nommé un serveur lié avec un nom convivial qui correspond au nom réel du serveur. Au fur et à mesure que le temps passe et que les gens changent dans l'équipe, il deviendra difficile d'identifier comment et où cela est lié. Vous pouvez trouver les informations en utilisant les sp_linkedservers procédure stockée, mais que se passe-t-il si le serveur lié configuré utilise un nom DNS entièrement différent de celui du serveur réel ? La requête ci-dessous permet d'obtenir le nom du serveur distant avec quelques autres détails lorsqu'elle est exécutée sur un serveur lié.

DECLARE @linkedServerName varchar(100), @sql varchar(max)
SET @linkedServerName='Your Linked Server Name'
SET @sql = CONCAT('SELECT * FROM OPENQUERY([',@linkedServerName , '], 
''SELECT ''''',@linkedServerName,''''' AS LinkedServerName, 
@@SERVERNAME AS RemoteServerName, SUSER_SNAME() AS ConnectedWith, DB_NAME() AS DefaultDB'')')
EXEC (@sql)