Я пытаюсь обновить столбец таблицы на одном сервере на основе столбцов таблицы на другом сервере.Этот код прекрасно работает в той же базе данных и на сервере.Я хочу, чтобы Column1 таблицы, которую я обновлял, равнялся столбцу другой таблицы. ГДЕ Column5 первой таблицы и сервера совпадает с Column5 другой таблицы на другом сервере.
Я создал локальную группу серверов и запускаю ее, подключившись к обоим.Что еще мне не хватает?
UPDATE [db1].[schema1].[table1]
SET [server1].[db1].[schema1].[table1].[Column1] = [server2].[db1].[schema1].[table1].[Column1]
FROM [server1].[db1].[schema1].[table1], [server2].[db1].[schema1].[table1]WHERE [server1].[db1].[schema1].[table1].[Column5] = [server2].[db1].[schema1].[table1].[Column5]
Вот ошибка:
С "exec sp_testlinkedserver server2" это результат:
server2 (userlogin): Msg 7411, Уровень 16, Состояние 1, Процедура sp_testlinkedserver, Строка 1 [Пакетная строка запуска 0] Сервер 'server2' не настроен для доступа к данным.
С "exec sp_serveroption" server2 "," доступ к данным ","true '"это результат:
Сообщение 15247, Уровень 16, Состояние 1, Процедура sp_serveroption, Строка 27 [Стартовая строка запуска 0] У пользователя нет разрешения на выполнение этого действия.
Похоже, проблема с разрешением, о которой мне нужно будет поговорить.Если я не могу получить эти разрешения.Есть ли следующий лучший вариант?