2016-12-28 2 views
0

У меня есть два экземпляра SQL Server:Доступ связанного сервера с связанного сервера непосредственно

  • SQLSERVER64
  • SQLSERVER32

В SQLSERVER32, у меня есть связанный сервер с базой данных Paradox под названием ParadoxDBLinkedServer.

Чтобы получить доступ к некоторым таблицам Paradox на сервере я просто выполнить следующее заявление:

SELECT * 
FROM [ParadoxDBLinkedServer]...Clients 

Затем мне нужно, чтобы получить доступ к этим объектам из экземпляра SQLSERVER64. Для этого я создал связанный сервер под названием [.\SQLSERVER32] в этом случае, указывая на SQLSERVER32.

То, что я пытаюсь сделать сейчас, - это получить доступ непосредственно к объектам ParadoxDBLinkedServer из экземпляра SQLSERVER64. Я имею в виду доступ к связанному серверу с другого связанного сервера.

I'm запрос пытается выполнить это следующий:

SELECT * 
FROM [.\SQLSERVER32].[ParadoxDBLinkedServer ]...Clients 

Но я получаю эту ошибку:

The number name '.\SQLSERVER32.ParadoxDBLinkedServer ...Clients' contains more than the maximum number of prefixes. The maximum is 3.

Есть ли способ, чтобы выполнить доступ, как это? Что мне здесь не хватает?

Я пытаюсь избежать создания представления для каждой таблицы ParadoxDBLinkedServer в экземпляре , чтобы уменьшить накладные расходы.

+0

Вы получаете эту ошибку, когда у вас есть лишние объекты в четыре части именования: [. \ SQLSERVER32.]. '[ParadoxDBLinkedServer] [SCHEMA_NAME ]. [Table_Name] 'попробуйте это. –

+0

@Darshan_Viswanath_BI, схема отсутствует. На самом деле он находится в схеме по умолчанию. Но пытаюсь [. \ SQLSERVER32]. [ParadoxDBLinkedServer]. [Default] .Clients Я получаю: поставщик OLE DB «% ls» для связанного сервера «% ls» не содержит таблицу «% ls». Таблица не существует или текущий пользователь не имеет прав на эту таблицу. – Andres

+0

Можете ли вы войти в оба сервера и сделать «select» из [Database]. [Dbo]. [Client] '? Префикс с [ParadoxDBLinkedServer] должен быть вашим решением. Если таблица не существует или вам не нужны разрешения, вы ее узнаете. –

ответ

0

выберите * из OPENQUERY (Linkedservername 'выберите * из имя_таблицы')

Смежные вопросы