1

Я использовал 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. Все права защищены. Начало работы: 3: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 Закончено: 3:50:29. Прошло: 0,782 секунды. Не удалось выполнить пакет. Шаг не удался.

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

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

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

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

Выполняется от имени пользователя: VS2\NetworkSQLUser. gpg: keyring c:/gnupg/secring.gpg' created gpg: keyring c:/gnupg/pubring.gpg' создан gpg: зашифрован с помощью ключа ELG, идентификатор XXXXXXXX gpg: расшифровка не удалась: нет секретного ключа Microsoft (R) SQL Server Выполнить Пакетная служебная программа версии 11.0.2100.60 для 64-разрядной системы Copyright (C) Microsoft Corporation. Все права защищены. Начало работы: 17: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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .