Импортировать ключ PGP для пользователя Windows для служб SSIS

1773
Colin

Я использовал Kleopatra для генерации ключа pgp.

В SQL Server я запускаю пакет служб SSIS, который должен расшифровывать файлы, используя указанный выше ключ. Пакеты служб SSIS запускаются ImportFilesс идентификатором пользователя Windows, NetworkSQLUserпоскольку для получения файла ему необходимо связаться с другим сервером.

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

Выполняется от имени пользователя: VS2 \ NetworkSQLUser. gpg: зашифрован с помощью ключа ELG, идентификатор XXXXXXXX gpg: не удалось расшифровать: нет секретного ключа Утилита Microsoft (R) SQL Server Execute Package Version 11.0.2100.60 для 64-разрядной версии Copyright (C) Microsoft Corporation. Все права защищены. Начато: 15:50:29 вечера Ошибка: 2014-01-23 15: 50: 29.95 Код: 0xC0029151 Источник: Расшифровать файл транзакции Процесс выполнения Описание задачи: При выполнении "C: \ Program Files (x86) \ GNU \ GnuPG \ gpg2 .exe "" --batch --passphrase-fd 0 --decrypt-files \ vs3 \ FTP \ Outgoing \ 20140122_001.TRN.gpg "at" ", код завершения процесса был" 2 ", а ожидаемый был" 0 ", Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1). Начало: 3:50:29. Окончание: 15:50:29. Прошло: 0,782 секунды. Не удалось выполнить пакет. Шаг не удался.

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

учетная запись службы, под которой я запускал агент SQL, не имела сертификата, зарегистрированного под этим ИД пользователя. Я импортировал сертификат в Kleopatra только для идентификатора пользователя для разработки, в который входил, а не для учетной записи службы. Я просто импортировал сертификат в профиль учетной записи службы, и тогда все заработало.

Я добавил идентификатор пользователя NetworkSQLUserдля ключа в Kleopatra, но я не уверен на 100%, что это правильно!

Затем я снова запустил пакет и получил следующую ошибку:

Выполняется от имени пользователя: VS2 \ NetworkSQLUser. GPG: брелокc:/gnupg/secring.gpg' created gpg: keyringc: /gnupg/pubring.gpg 'создан gpg: зашифрован с помощью ключа ELG, идентификатор XXXXXXXX gpg: не удалось расшифровать: нет секретного ключа Утилита Microsoft (R) SQL Server Execute Package Version 11.0.2100.60 для 64-разрядных систем Copyright (C) Microsoft Corporation, Все права защищены. Начато: 5:17:16 вечера Ошибка: 2014-01-23 17: 17: 17.40 Код: 0xC0029151 Источник: Расшифровать файл транзакции Процесс выполнения Описание задачи: При выполнении "C: \ Program Files (x86) \ GNU \ GnuPG \ gpg2 .exe "" --batch --passphrase-fd 0 --decrypt-files \ vs3 \ FTP \ Outgoing \ 20140122_001.TRN.gpg "at" ", код завершения процесса был" 2 ", а ожидаемый был" 0 ", Ошибка завершения DTExec: выполнение пакета вернуло DTSER_FAILURE (1). Начало работы: 17:17:16. Окончание: 17:17:17. Прошло: 0,735 секунды. Не удалось выполнить пакет. Шаг не удался.

Я также попытался запустить пакет dtsx из папки GnuPG.

Я в растерянности относительно того, куда идти отсюда.

Если я пропустил какую-либо информацию (мой первый раз с SSIS, PGP и сертификатами), то дайте мне знать.

1

1 ответ на вопрос

1
Colin

Я закончил тем, что использовал библиотеку от Codeplex .

Простая настройка и еще более простое исполнение. Отличная библиотека!

Похожие вопросы