SSIS Lookup Transformation error: The EXECUTE permission was denied on the object 'sp_describe_undeclared_parameters'
SSIS Lookup Transformation error: The EXECUTE permission was denied on the object 'sp_describe_undeclared_parameters'
我正在将 SSIS 包从 SQL Server 2008 R2 升级到 2017。升级其中一个包后,Lookup Transformation
的 Advanced
选项卡中的参数化查询现在是抛出验证错误。这可能是集合中唯一使用 Partial Cache
的软件包,因为我找不到任何成功升级的示例来与之进行比较。
当我尝试 运行 包时,它记录了这些错误:
Error: 2019-02-11 10:49:40.11
Code: 0xC0202009
Source: Anonymized DFT [209]
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "The EXECUTE permission was denied on the object 'sp_describe_undeclared_parameters', database 'mssqlsystemresource', schema 'sys'.".
End Error
Error: 2019-02-11 10:49:40.15
Code: 0xC020824C
Source: Anonymized DFT [209]
Description: OLE DB error occurred while loading column metadata. Check SQLCommand and SqlCommandParam properties.
End Error
Error: 2019-02-11 10:49:40.18
Code: 0xC004706B
Source: Anonymized DFT SSIS.Pipeline
Description: "Anonymized DFT" failed validation and returned validation status "VS_ISBROKEN".
End Error
Error: 2019-02-11 10:49:40.22
Code: 0xC004700C
Source: Anonymized DFT SSIS.Pipeline
Description: One or more component failed validation.
End Error
Error: 2019-02-11 10:49:40.27
Code: 0xC0024107
Source: Anonymized DFT
Description: There were errors during task validation.
End Error
我原本希望重新映射参数,但我尝试在 [=11= 的 Advanced
选项卡上打开 Parameters
对话框时遇到了相同的错误集].
根据消息,显而易见的答案是权限问题,但根据 documentation for sp_describe_undeclared_parameters:
Permissions
Requires permission to execute the @tsql argument.
我和作业 运行s 下的服务帐户都有执行参数化查询的权限。
我对 2008 R2 包中的 Lookup Transformations
和相应的 Properties
windows 进行了并排比较,运行 没问题在 2008 R2 服务器和新的 2017 包上。我发现的唯一新 属性 值是 TreatDuplicateKeysAsError
,但更改它对我的情况没有影响。
查看 Advanced Editor
,ParameterMap
中的列引用似乎是正确的,但查询没有提取它们。
是否存在比我看到的更多的权限问题,或者是否还有其他我在这里遗漏的问题?
我无法指出具体的来源表明这种可能性,但最后我添加了一个额外的 Connection Manager
指向与原始服务器和数据库相同的服务器和数据库,但没有使用SQL Server Native Client 11.0
提供商,我将其更改为 Microsoft OLE DB Provider for SQL Server
。
繁荣。验证错误已清除;包裹是 运行.
虽然这是一个解决方案,但它不是一个解释,所以如果有人想插话,请说出来。我浪费了一天的大部分时间来追逐这个幽灵,所以暂时我要带上我的 运行 包裹,并称它足够好,可以在星期二使用。
我正在将 SSIS 包从 SQL Server 2008 R2 升级到 2017。升级其中一个包后,Lookup Transformation
的 Advanced
选项卡中的参数化查询现在是抛出验证错误。这可能是集合中唯一使用 Partial Cache
的软件包,因为我找不到任何成功升级的示例来与之进行比较。
当我尝试 运行 包时,它记录了这些错误:
Error: 2019-02-11 10:49:40.11 Code: 0xC0202009 Source: Anonymized DFT [209] Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "The EXECUTE permission was denied on the object 'sp_describe_undeclared_parameters', database 'mssqlsystemresource', schema 'sys'.". End Error
Error: 2019-02-11 10:49:40.15 Code: 0xC020824C
Source: Anonymized DFT [209] Description: OLE DB error occurred while loading column metadata. Check SQLCommand and SqlCommandParam properties. End Error
Error: 2019-02-11 10:49:40.18 Code: 0xC004706B
Source: Anonymized DFT SSIS.Pipeline Description: "Anonymized DFT" failed validation and returned validation status "VS_ISBROKEN". End Error
Error: 2019-02-11 10:49:40.22 Code: 0xC004700C
Source: Anonymized DFT SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2019-02-11 10:49:40.27 Code: 0xC0024107
Source: Anonymized DFT
Description: There were errors during task validation. End Error
我原本希望重新映射参数,但我尝试在 [=11= 的 Advanced
选项卡上打开 Parameters
对话框时遇到了相同的错误集].
根据消息,显而易见的答案是权限问题,但根据 documentation for sp_describe_undeclared_parameters:
Permissions
Requires permission to execute the @tsql argument.
我和作业 运行s 下的服务帐户都有执行参数化查询的权限。
我对 2008 R2 包中的 Lookup Transformations
和相应的 Properties
windows 进行了并排比较,运行 没问题在 2008 R2 服务器和新的 2017 包上。我发现的唯一新 属性 值是 TreatDuplicateKeysAsError
,但更改它对我的情况没有影响。
查看 Advanced Editor
,ParameterMap
中的列引用似乎是正确的,但查询没有提取它们。
是否存在比我看到的更多的权限问题,或者是否还有其他我在这里遗漏的问题?
我无法指出具体的来源表明这种可能性,但最后我添加了一个额外的 Connection Manager
指向与原始服务器和数据库相同的服务器和数据库,但没有使用SQL Server Native Client 11.0
提供商,我将其更改为 Microsoft OLE DB Provider for SQL Server
。
繁荣。验证错误已清除;包裹是 运行.
虽然这是一个解决方案,但它不是一个解释,所以如果有人想插话,请说出来。我浪费了一天的大部分时间来追逐这个幽灵,所以暂时我要带上我的 运行 包裹,并称它足够好,可以在星期二使用。