SQL - Connect to Linked Server with Named Instance

2020-02-13 02:00发布

问题:

How do I connect to a named instance of a linked SQL server.

If its not linked, I would do the following:

ServerName.DatabaseName.dbo.TableName

If it is linked, I would assume the following:

ServerName\InstanceName.DatabaseName.dbo.TableName

but SQL doesn't like the "\"

What is the correct syntax

回答1:

Check this

You can surround server name with brackets



回答2:

the correct syntax is [ServerName\InstanceName].DatabaseName.dbo.TableName.



回答3:

If you are using the default instance, you don't need to specify the instance name.

Example using the default instance: [MyServer].[MyDatabase].[MySchema].[MyTable]

NB: If you don't know your schema name, give [dbo] a try, since that is the default schema.

So something like this should work for you

SELECT *
FROM [MyTable] t
INNER JOIN [MyLinkedServer].[MyLinkedDatabase].[MyLinkedSchema].[MyLinkedTable] lt ON lt.Id = t.Id