Невозможно запросить представление со связанного сервера SQL - PullRequest
1 голос
/ 01 февраля 2012

В SQL Server Management Studio я связал SQL Server sql02 с моим локальным сервером следующим образом:

sp_addlinkedserver 'sql02'
GO

Я могу запрашивать таблицы с этого сервера:

SELECT * FROM SQL02.SomeDatabase.dbo.SomeTable

Однако, когда я пытаюсь запросить представление, как в

SELECT * FROM SQL02.SomeDatabase.dbo.SomeView

, я получаю следующее сообщение об ошибке:

Msg 7314, Level 16, State 1, Line 1
The OLE DB provider "SQLNCLI10" for linked server "SQL02" does not contain the 
table ""SomeDatabase"."dbo"."SomeView"". The table either does not exist or the
current user does not have permissions on that table.

Согласен, что SomeView не существует как таблица,Что я делаю не так?

Потенциально значимые факты:

  • Локальная версия SQL Server - 10.50.1617
  • Версия связанного сервера - 8.0.2282
  • Я могу выбрать из всех базовых таблиц в представлении

1 Ответ

4 голосов
/ 01 февраля 2012

Похоже, проблема с разрешениями, вы проверили разрешения для представления? С вашим запросом все в порядке.

Кроме того, вы проверили, к какой таблице этот запрос? Проверьте разрешения таблицы также.

В качестве подсказки: попробуйте запустить представление для определенного пользователя, и, если это успешно, попробуйте связать сервер, используя этого конкретного пользователя.

...