首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的SSIS包在Visual中运行,但服务器上的验证失败?

为什么我的SSIS包在Visual中运行,但服务器上的验证失败?
EN

Stack Overflow用户
提问于 2019-05-21 16:40:27
回答 2查看 1.1K关注 0票数 2

我有一个SSIS包,它从两个表中读取(在不同的实例上),执行合并连接,并且使用条件拆分来更新一个源表。我已经设置了一个连接管理器,并使用链接服务器访问另一个实例上的一个表。在连接管理器中,我使用登录名和保存的密码,并具有数据库和表的权限。它在中运行得像冠军一样。当我将它部署到我的Server 2016时,它通过错误“更新客户:错误:客户数据失败验证和返回的错误代码0xC020801B”失败验证。

我尝试用保存的密码将链接服务器移动到它自己的连接管理器。我还尝试在连接管理器中使用Windows身份验证。这些也没用。此外,当我搜索错误代码0xC020801B时,似乎什么也没有出现。

编辑:

包ProtectionLevel是EncryptSensitiveWithUserKey。

编辑二:

我将连接管理器从项目连接管理器更改为包连接管理器。我现在得到了错误:

来源:“11.0”HResult: 0x80040E4D描述:“用户‘集成’登录失败。”

用户集成可以访问有关的数据库和表。我还尝试删除登录名并使用Windows身份验证。我在两个数据库上添加了带有db_datareader和db_datawriter权限的登录服务器。在部署和执行包时,将得到链接服务器连接上的错误:

来源:"Microsoft本机客户端11.0“HResult: 0x80040E4D描述:”登录失败的用户‘域\实例_名称$’“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-21 21:23:11

您使用的是ProtectionLevel "EncryptSensitiveWithUserKey",这意味着所有敏感数据(包括密码)都是基于您的登录使用windows加密加密的。

当您将包部署到服务器时,它无法解密这些密码。

请使用"DontSaveSensitive“并使用包参数提供所有密码。

或者更好的选择是使用windows身份验证并向您的服务帐户授予所需的特权。

票数 1
EN

Stack Overflow用户

发布于 2019-05-21 16:47:06

我找到这个..。

https://imgalib.wordpress.com/2013/01/24/how-to-solve-ssis-error-code-0xc020801c0xc004700c0xc0047017/

它可能值得在服务器上检查驱动程序等。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56242856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档