У меня есть два экземпляра SQL Server:
- SQLSERVER64
- SQLSERVER32
В SQLSERVER32
у меня есть связанный сервер с базой данных Paradox под названием ParadoxDBLinkedServer
.
Чтобы получить доступ к некоторым таблицам Paradox на сервере, я просто выполняю следующий оператор:
SELECT *
FROM [ParadoxDBLinkedServer]...Clients
Затем мне нужно получить доступ к этим объектам из экземпляра SQLSERVER64
. Для этого я создал связанный сервер с именем [.\SQLSERVER32
], в данном случае указывающий на SQLSERVER32
.
Сейчас я пытаюсь получить прямой доступ к объектам ParadoxDBLinkedServer
из экземпляра SQLSERVER64
. Я имею в виду доступ к связанному серверу с другого связанного сервера.
Запрос, который я пытаюсь выполнить, следующий:
SELECT *
FROM [.\SQLSERVER32].[ParadoxDBLinkedServer ]...Clients
Но я получаю эту ошибку:
Числовое имя '.\SQLSERVER32.ParadoxDBLinkedServer ...Clients' содержит больше префиксов, чем максимально допустимое. Максимум 3.
Есть ли способ выполнить такой доступ? Что мне здесь не хватает?
Я пытаюсь избежать создания представления для каждой таблицы ParadoxDBLinkedServer
в экземпляре SQLSERVER32
, чтобы уменьшить накладные расходы.
[.\SQLSERVER32].[ParadoxDBLinkedServer ].[Schema_Name].[Table_Name]
попробуйте это.. - person d_luffy_de   schedule 28.12.2016select * from [Database].[dbo].[Client]
? Префикс с [ParadoxDBLinkedServer] должен быть вашим решением. Если таблица не существует или у вас нет необходимых разрешений, вы об этом узнаете. - person d_luffy_de   schedule 28.12.2016