Развертывание зашифрованного пакета SSIS с помощью dtutil - PullRequest
0 голосов
/ 19 июня 2020

У меня есть пакет, который использует учетную запись службы для подключения к серверу Oracle, а имя пользователя и пароль хранятся в пакете. По этой причине для пакета задано значение ProtectionLevel = EncryptSensitiveWithPassword. Я пытаюсь отправить sh пакет на сервер с помощью конвейера Azure DevOps с помощью утилиты командной строки dtutil, включая аргумент / Decrypt с паролем пакета. Вот командная строка (я заменил конфиденциальную информацию на "xxxxx"):

dtutil / FILE Proto_Fleet_Direct_Parts_WO_Vendor_Extract.dtsx / Decrypt xxxxx / COPY SQL; Proto_Fleet_Direct_Parts_WO_Vendor_Endor_Endor_Endor_Endor_WO_Vendor

Когда я выполняю эту команду, я получаю следующую ошибку:

Не удалось загрузить пакет из-за ошибки 0xC0011008 «Ошибка загрузки из XML. Для этой проблемы нельзя указать дополнительную подробную информацию об ошибке. потому что не был передан объект Events, в котором может храниться подробная информация об ошибке. ". Это происходит при сбое CPackage :: LoadFrom XML.

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

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

...