Sql GPG加密在SSMS作业代理中失败,在SSIS中成功

Sql GPG加密在SSMS作业代理中失败,在SSIS中成功,sql,encryption,ssis,gnupg,Sql,Encryption,Ssis,Gnupg,我有一个加密作业集,它在Visual studio中执行得很好,但在SSMS作业代理中出现以下错误--> 检索错误emailid@domain.com通过WKD:无数据gpg 跳过:没有数据 使用SQL 2017。我尝试在作业设置中使用CMDEXEC而不是SSIS包,但它没有解决问题 论据: --quiet --yes --trust-model always --passphrase mypassphrase --recipient XXX@XXX.com --trust-model alw

我有一个加密作业集,它在Visual studio中执行得很好,但在SSMS作业代理中出现以下错误--> 检索错误emailid@domain.com通过WKD:无数据gpg 跳过:没有数据

使用SQL 2017。我尝试在作业设置中使用CMDEXEC而不是SSIS包,但它没有解决问题

论据:

--quiet --yes --trust-model always --passphrase mypassphrase --recipient XXX@XXX.com  --trust-model always --output D:\Folder\File.csv.gpg --encrypt D:\Folder\file.csv


所以我是从代理帐户执行作业的,显然代理帐户和自己的帐户在gpg密钥导入方面是不同的。意思是——我已经使用windows凭据在桌面上使用gpg/Kleopatra导入了密钥,并且正在使用作业代理的代理帐户调用作业。因此,代理帐户无法访问密钥。这就解决了我的问题—

解决在windows帐户之间复制GPG密钥的问题:查找每个用户的%AppData%\Roaming\GnuPg,然后将密钥正常工作的帐户中的内容复制到需要导入密钥的帐户中。