В моей среде SSIS 2014/2016 я сталкиваюсь со следующей конфигурацией.
Все соединения в моем пакете служб SSIS настроены на использование параметра проекта, такого как строка подключения, и другого параметра проекта с паролем (чувствительный).
Ну, все работает отлично, но если я поставлю несколько задач без приоритета для запуска, пакет начнет отказывать. Я провел анализ SQL Server, используемого в источнике OLEDB, и проверил, что сбои происходят из-за неправильного пароля. Странно то, что в то же время, когда задача представляет ошибку пароля, другая параллельная задача, использующая ту же строку подключения, может подключаться к базе данных.
Я пришел к выводу, что проблема заключается в конфигурации через параметр проекта, поскольку, если я удаляю переменные соединения и напрямую использую сервер и пароль, все задачи выполняются без проблем.
Важно. Соединения выполняются через аутентификацию SQL Server.
На следующем сайте я обнаружил проблему, очень похожую на мою:
Я сделал простой пример,
Я создал пакет с 5 одинаковыми циклами, которые имеют зачеркнутую задачу и поток данных с источником oledb, обе с помощью команды SQL «SELECT 1 TEST», соединяющейся в одной базе.
Когда я использую параметр в строке подключения, несколько раз происходит сбой пакета с сообщением:
[Диспетчер соединений "xxx"] Ошибка: код ошибки служб SSIS DTS_E_OLEDBERROR Произошла ошибка OLE DB. Код ошибки: 0x80040E4D.
Доступна запись OLE DB. Источник: «Собственный клиент Microsoft SQL Server 11.0» Hresult: 0x80040E4D Описание: «Ошибка входа в систему для пользователя« xxxxxx ».»
Когда я не использую параметры в строке подключения и напрямую сообщаю имя пользователя и пароль в соединителе, сообщение не появляется один раз.
Что я хотел бы знать, если кто-нибудь знает, почему это происходит?
В больших средах как использовать параметры диспетчера подключений непосредственно на разъеме или использовать параметры проектирования?
Спасибо.
Пакетное тестирование
Конфигурация соединения