Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

T-SQL, um den Remoteservernamen des Verbindungsservers zu finden

Manchmal kommt es vor, dass Sie einen Verbindungsserver mit einem Anzeigenamen benannt haben, der nicht dem tatsächlichen Servernamen entspricht. Wenn die Zeit vergeht und sich die Mitarbeiter im Team ändern, wird es schwierig zu erkennen, wie oder womit dies zusammenhängt. Sie finden die Informationen über die sp_linkedservers gespeicherte Prozedur, aber was ist, wenn der konfigurierte Verbindungsserver einen völlig anderen DNS-Namen als der eigentliche Server verwendet? Die folgende Abfrage hilft, den Namen des Remote-Servers mit einigen anderen Details zu erhalten, wenn er für einen Verbindungsserver ausgeführt wird.

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)