Почему мой пакет служб SSIS работает в Visual Studio, но не проходит проверку на сервере? - PullRequest
2 голосов
/ 21 мая 2019

У меня есть пакет служб SSIS, который читает из двух таблиц (в разных экземплярах), выполняет объединение слиянием и использует условное разделение для обновления одной из исходных таблиц.У меня есть один менеджер соединений, настроенный и использующий связанный сервер для доступа к одной из таблиц в другом экземпляре.В диспетчере соединений я использую логин и сохраненный пароль с разрешениями на базы данных и таблицы.Это работает как чемпион в Visual Studio.Когда я внедряю его на свой SQL Server 2016, он не проходит проверку с ошибкой «Обновление клиентов: ошибка: данные клиента не прошли проверку и возвращен код ошибки 0xC020801B.»

Я попытался переместить связанный сервер на свой собственныйменеджер соединений с сохраненным паролем.Я также попытался использовать проверку подлинности Windows в диспетчере соединений.Это тоже не сработало.Кроме того, при поиске кода ошибки 0xC020801B кажется, что ничего не появляется.

РЕДАКТИРОВАТЬ:

Уровень защиты пакета равен EncryptSensitiveWithUserKey.

РЕДАКТИРОВАТЬ II:

Я изменил диспетчер соединений с менеджера соединений проекта на менеджер соединений пакетов.Теперь я получаю сообщение об ошибке:

Источник: «Собственный клиент Microsoft SQL Server 11.0» HResult: 0x80040E4D Описание: «Ошибка входа в систему для интеграции пользователя».

Пользовательская интеграция имеет доступ к базам данных и рассматриваемым таблицам.Я также попытался удалить логин и использовать аутентификацию Windows.Я добавил сервер в качестве логина с разрешениями db_datareader и db_datawriter для обеих баз данных.При развертывании и выполнении пакета я получаю сообщение об ошибке при подключении к связанному серверу:

Источник: «Собственный клиент Microsoft SQL Server 11.0» HResult: 0x80040E4D Описание: «Ошибка входа для пользователя« DOMAIN \ INSTANCE_NAME $ »."

Ответы [ 2 ]

2 голосов
/ 22 мая 2019

Вы используете ProtectionLevel "EncryptSensitiveWithUserKey", что означает, что все конфиденциальные данные, включая пароли, шифруются с использованием Windows-шифрования на основе вашего логина.
При развертывании пакета на сервере он не может расшифровать эти пароли.
Пожалуйста, используйте "DontSaveSensitive" и предоставьте все пароли, используя параметры пакета.

Или лучше использовать проверку подлинности Windows и предоставить необходимые привилегии учетной записи службы.

0 голосов
/ 21 мая 2019

Я нашел это ...

https://imgalib.wordpress.com/2013/01/24/how-to-solve-ssis-error-code-0xc020801c0xc004700c0xc0047017/

Возможно, стоит проверить драйверы и т. Д. На сервере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...