我有一个运行SSIS包的SQL服务器作业。此作业有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.
有人可以告诉我为什么会这样吗?
除了Kiran's answer建议的内容,请确保正确设置:
在SSIS中可以选择保存密码(访问数据库或其他任何东西),默认设置为“EncryptSensitiveWithUserKey”...您需要更改此设置。
Package Proprties Window> ProtectionLevel - 将其更改为EncryptSensitiveWithPassword PackagePassword - 输入密码 - > somepassword
将项目和包属性ProtectionLevel更改为“DontSaveSensitive”
这是因为SSIS包的创建者是其他人,而其他人正在执行包。
如果假设一个人创建了SSIS包并且B人正在尝试执行,则会出现上述错误。
您可以通过将包属性中的创建者名称从A更改为B来解决错误。
谢谢,Kiran Sagar
对我来说,问题与分配给包的参数有关。
In SSMS, Navigate to:
"Integration Services Catalog -> SSISDB -> Project Folder Name -> Projects -> Project Name"
确保右键单击“项目名称”,然后验证是否正确设置了32位运行时,并且默认情况下使用的参数是否已正确实例化。检查参数NAMES和初始值。对于我的包,我使用的是不正确的值,因此我必须在执行包之前重新填充参数defaults。根据您在SSIS包中设置的参数设置的默认值,检查您使用的值。一旦这些匹配,问题应该解决(对于一些人)
在我的情况下,这是因为我在第一次打开解决方案时还没有连接到数据库。单击连接管理器选项卡,建立与该选项卡中每个数据源的连接,运行项目