Sql server 2008 r2 带有SSIS包的SQL Server作业-无法解密受保护的XML节点“DTS:密码”,错误为0x8009000B

Sql server 2008 r2 带有SSIS包的SQL Server作业-无法解密受保护的XML节点“DTS:密码”,错误为0x8009000B,sql-server-2008-r2,Sql Server 2008 R2,我有一个运行SSIS包的SQL server作业。此作业有9个步骤,每个步骤都从不同的数据库提取数据。连接字符串在每个步骤中定义为参数 我运行作业时遇到以下错误 Executed as user: USER\MYSERVER$. Microsoft (R) SQL Server Execute Package Utility Version 10.50.1600.1 for 64-bit Copyright (C) Microsoft Corporation 2010. All rights

我有一个运行SSIS包的SQL server作业。此作业有9个步骤,每个步骤都从不同的数据库提取数据。连接字符串在每个步骤中定义为参数

我运行作业时遇到以下错误

Executed as user: USER\MYSERVER$. Microsoft (R) SQL Server Execute Package Utility  Version 10.50.1600.1 for 64-bit  Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started:  5:50:55 PM  Error: 2013-06-21 17:50:55.44
Code: 0xC0016016
Source:
Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-06-21 17:50:55.45
Code: 0xC0016016
Source:
Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-06-21 17:50:55.45
Code: 0xC0016016
Source:
Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available.  End Error  Error: 2013-06-21 17:51:06.30
Code: 0xC020901C
Source: Data Flow Task Daily Attendance View 1 [34]
Description: There was an error with output column "ShiftCode" (54) on output "OLE DB Source Output" (45). The column status returned was: "Text was truncated or one or more characters had no match in the target code page.".  End Error  Error: 2013-06-21 17:51:06.30
Code: 0xC020902A
Source: Data Flow Task Daily Attendance View 1 [34]
Description: The "output column "ShiftCode" (54)" failed because truncation occurred, and the truncation row disposition on "output column "ShiftCode" (54)" specifies failure on truncation. A truncation error occurred on the specified object of the specified component.  End Error  Error: 2013-06-21 17:51:06.30
Code: 0xC0047038
Source: Data Flow Task SSIS.Pipeline
Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "Daily Attendance View 1" (34) returned error code 0xC020902A.  The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.  There may be error messages posted before this with more information about the failure.  End Error  DTExec: The package execution returned DTSER_FAILURE (1).  Started:  5:50:55 PM  Finished: 5:51:06 PM  Elapsed:  10.983 seconds.  The package execution failed.  The step failed.

有人能告诉我为什么会发生这种情况吗?

这是因为SSIS包的创建者是其他人,而其他人正在执行这些包

如果假设一个人创建了SSIS包,而另一个人正在尝试执行,则会出现上述错误

您可以通过将创建者名称从包属性从A更改为B来解决此错误

谢谢, Kiran Sagar

除了建议之外,还要确保设置正确:

SSIS中有一个选项,用于保存密码以访问DB或任何其他内容,默认设置为EncryptSensitiveWithUserKey。。。你需要改变这个

软件包属性窗口> ProtectionLevel-将其更改为EncryptSensitiveWithPassword
PackagePassword-输入password->somepassword

将项目和包属性ProtectionLevel更改为DontSaveSensitive

游戏进行得有点晚了,但我找到了一种在其他任何地方都没有见过的方法来解决这个问题。从连接管理器中选择您的连接。在右边,您应该看到属性。检查是否有任何表达式(如果没有添加表达式)。在包资源管理器中添加一个名为ConnectiontoSQL或其他变量。将变量设置为字符串,将值设置为连接字符串,并包含用户Id和密码。返回到连接管理器属性和表达式。从下拉列表中选择ConnectionString并将第二个框设置为变量的名称。应该是这样的


我一辈子都找不到另一个解决办法,但这个办法奏效了

对我来说,这个问题与分配给包的参数有关

 In SSMS, Navigate to:
 "Integration Services Catalog -> SSISDB -> Project Folder Name -> Projects -> Project Name" 

确保右键单击项目名称,然后验证32位运行时设置是否正确,以及默认情况下使用的参数是否正确实例化。检查参数名称和初始值。对于我的包,我使用的值不正确,因此在执行包之前,我必须重新填充参数默认值。对照为SSIS包中设置的参数设置的默认值检查正在使用的值。在我的例子中,一旦这些匹配,问题应该得到解决,因为在第一次打开解决方案时,我还没有连接到数据库。单击“连接管理器”选项卡,在该选项卡中建立到每个数据源的连接,运行Projs

请考虑重新格式化输出。如果没有任何回车符或制表符,很难阅读。包运行的是Visual Studio SSDT吗?我想不是。这应该是答案,因为它提供了一个永久性的解决方案,以防包在不同的开发计算机中来回移动it only Enterprise future?我在社区版上找不到这个,但是如果你更改了创建者的名字,你就不能再构建了。只有所有者可以生成和发布它…可以在visual studio中通过单击“控制流”区域上的任意位置找到它。在“解决方案资源管理器”->“属性”->“安全”部分中,右键单击您的项目,您将在那里看到ProtectionLevel。