Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 我的SSIS包可以工作,但作为SSMS作业失败(错误:0xC0016)_Sql Server_Ssis_Ssms - Fatal编程技术网

Sql server 我的SSIS包可以工作,但作为SSMS作业失败(错误:0xC0016)

Sql server 我的SSIS包可以工作,但作为SSMS作业失败(错误:0xC0016),sql-server,ssis,ssms,Sql Server,Ssis,Ssms,我的SSIS包正常工作,但由于SSMS作业错误而失败:0xC0016 我发布这个问题,并将我对这个问题的解决方案作为我自己的问题分享,因为我没有看到提出的问题与我遇到的具体问题相匹配,而且答案似乎分散在不同的论坛问题中 背景: 我在SQL Server 2012上有四个SSIS包,它们根据特定的包从SQL Server 2008 R2、2008或2005导入表。我为源数据库使用指定的sql server登录名和密码,为目标数据库使用集成的Windows安全性。 在SSIS中,我可以毫无问题地运行

我的SSIS包正常工作,但由于SSMS作业错误而失败:0xC0016

我发布这个问题,并将我对这个问题的解决方案作为我自己的问题分享,因为我没有看到提出的问题与我遇到的具体问题相匹配,而且答案似乎分散在不同的论坛问题中

背景:

我在SQL Server 2012上有四个SSIS包,它们根据特定的包从SQL Server 2008 R2、2008或2005导入表。我为源数据库使用指定的sql server登录名和密码,为目标数据库使用集成的Windows安全性。 在SSIS中,我可以毫无问题地运行每个包。 为了确保该包按计划运行,我在与SSIS包相同的服务器上设置了SSMS作业。在作业步骤属性中,我选择了:SQLServer集成服务包>作为SQLServer代理服务帐户运行>包源:文件系统。 症状: 当手动运行作业以确保其工作时,我遇到了一个错误,并在日志文件查看器中看到了这一点。这是几个错误中的第一个,但由于这是按时间顺序排列的第一个错误,我首先研究了这个错误

错误:2014-10-2409:52:34.48 代码:0xC0016 来源:[修订-我导入的表的正确名称] 描述:无法使用密码解密受保护的XML节点DTS:密码 错误0x8009000B密钥在指定状态下无效。。你可以 未被授权访问此信息。此错误发生在 有一个加密错误。确认安装了正确的钥匙 可获得的 端错误
我在谷歌上查找了错误代码,并开始查看解决方案。我不是在复述我是如何找到解决方案的各个部分的,而是在按顺序展示一个可操作的结果——至少对我和我正在使用的网络基础设施而言是如此

在SSIS解决方案的“属性”面板中,首先执行此操作,然后在该解决方案中的每个包中,将ProtectionLevel属性重置为EncryptSensitiveWithPassword并设置密码。包密码必须与解决方案密码匹配。 只需仔细检查,在调试模式下运行包,以确保不会出现其他新问题。在我的例子中,我需要重新输入源服务器数据库的sql server密码。 重建SSIS解决方案。 在SSMS中,打开作业,并打开相关任务的作业步骤属性。 选择命令行选项卡。此时会出现一个软件包密码弹出窗口。输入您在步骤1中输入的密码。 选择“手动编辑命令行”,并在/DECRYPT之后立即放置步骤1中的相同密码。 对运行此类型包的每个作业步骤重复步骤4-6。 按“确定”按钮并重新运行作业。
在那之后,我成功地运行了我的作业。

以前您的软件包保护级别设置为什么?我一直成功地使用了“不包含敏感数据”。这是默认设置,对我来说是EncryptSensitiveWithUserKey。我尝试不包含敏感数据,但这导致了一系列其他错误。第一点中的解决方案密码是什么意思?在哪里可以找到和设置?您的SQL代理的服务帐户是什么?Start->Run services.msc查找条目SQL Server Agent,可能带有实例名。登录为值中列出了什么?服务名称为SQLSERVERAGENT,它作为网络服务登录。这样设置是为了支持我们组织中的其他需求。我遇到了同样的问题,并遵循这些步骤,第一次尝试就成功了!对我来说,唯一的区别是我将一个包保存为dtsx文件,因此步骤2调试模式不可用,但我还是像他那样重新输入了源代码连接密码。第3步重建SSIS解决方案也不可用,因此我跳过了这一步,但这对我来说并不重要。不管怎么说,工作很有魅力。非常好的说明!非常感谢!