Sql-server – Connecting Linked Server

linked-serversql server

Hi I want to fetch data from MS SQL DB of a Remote server using Linked Servers. I have linked the servers. I am fetching data as follows.

select * from [IP of server].[Database Name].[dbo].[Table Name]

But I want to get [IP address] from a variable and use it.

Ex: Declare @ServIP varchar(50)

set @ServIP = 'IP of server'

select * from [@ServIP].[Database Name].[dbo].[Table Name]

I'm getting error If I use variable.

How can I do it?

Best Answer

Dynamic SQL:

declare @ServIP varchar(50) = 'IP of server'
declare @dsql varchar(1024)
set @dsql = 'select * from ' + quotename(@ServIP) + '.DbName.dbo.TableName'
exec (@dsql)