Ссылка на внешнюю базу данных в представлении? - PullRequest
0 голосов
/ 26 октября 2010

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

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

Существующая ссылка на myDatabase.dbo.tableName.Когда я пытаюсь изменить это значение на [MyServer.com].myDatabase.dbo.tableName, удаление от редактора удаляет все квадратные скобки, оставляя меня с MyServer.com.myDatabase.dbo.tableName, который не является надлежащей ссылкой на таблицу.

Любые идеи, которые я могу сделать, чтобы исправитьэто?

Ответы [ 2 ]

2 голосов
/ 26 октября 2010

Похоже, вы добавили связанный сервер с именем «MyServer.com». Я предлагаю переименовать его во что-нибудь без точки, MyServerCom будет в порядке. Это нормально, если данные в связанном сервере указывают на сервер, который находится по этому адресу.

Тогда имя из четырех частей может быть MyServerCom.myDatabase.dbo.tableName

0 голосов
/ 26 октября 2010

Не редактируйте определение представления в Enterprise Manager - используйте анализатор запросов, чтобы написать сценарий для представления ALTER, внести соответствующие изменения, а затем запустить сценарий.

Enterprise manager делает довольно неприятные вещи.Точно так же я бы рекомендовал использовать сценарий ALTER вместо сценария «Дизайн», если вы используете SSMS для управления сервером / базой данных.

...