2016-02-26 4 views
0

У меня есть работа, которая пытается получить доступ к данным с удаленного сервера. Я создал связанный сервер, который успешно подключен. Когда я пытаюсь получить доступ к таблицам, просто выполняя запрос, он отлично работает. Но когда я запускаю тот же запрос через задание, он выдает сообщение об ошибке «login failed for user».Не удается получить доступ к таблицам связанных серверов через задание в SQL Server

Задание присваивается владельцу 's и работает с ssis-прокси с помощью sysadmin и публичных ролей. На вкладке «Безопасность» связанных свойств сервера у меня нет сопоставлений и «сделана с использованием текущего контекста безопасности входа».

Я не уверен, как исправить это. Если я должен добавить сопоставления, то что должно отображаться? Пожалуйста, помогите мне, поскольку я уже провел весь день, исследуя возможные варианты, но не смог найти ничего полезного.

+0

Пакет SSIS запускается от пользователя с помощью проверки подлинности SQL или Windows? – Indian

+0

@ Индийский он работает под аутентификацией сервера sql с использованием и паролем sa. –

+0

И у '' 'есть тот же пароль на связанном сервере? – Indian

ответ

0

Не имеет значения, кто является владельцем пакета. Важным является только пользователь, у которого запущен пакет.

  • Если этот пользователь является пользователем Windows (Windows domen), ознакомьтесь с этим link.
  • Если ваш пользователь является пользователем sql, проверьте его пароль и разрешения на связанном сервере.
  • Если все из предыдущего шага верны, попробуйте добавить этого пользователя к сопоставлению с отмеченным флажком Impersonate.
+0

Шаг в работе, которая не работает, в основном выполняет пакет ssis. В поле «Выполнение» у меня есть «SSIS Proxy», который имеет учетные данные /Administrator. Теперь к этим учетным данным даются системные административные и публичные роли. теперь в безопасности связанного сервера я добавил /Администратор в сопоставлении с проверенным олицетворением. Это текущее состояние и задание дает ошибку Выполняется как пользователь: NT AUTHORITY \ SYSTEM. «Ошибка входа в систему для пользователя» \ $ '. [SQLSTATE 42000] (Ошибка 50000). –