在Visual Studio中使用TSQL执行SSIS包出现身份验证错误如何解决?
SSIS包通过Execute SQL任务调用时报身份验证错误的问题及解决
问题描述
在异步执行测试场景下,尝试通过Execute SQL任务使用TSQL命令执行SSIS包时,遇到服务器身份验证相关报错,无法建立连接。
报错详情
错误: Execute SQL Task处出现0xC002F210错误,Execute SQL Task:执行查询"Declare @execution_id bigint EXEC [SSISDB].[catalo..."失败,报错信息为:"使用SQL Server Authentication的账户无法启动该操作,请使用Integrated Authentication的账户启动操作。" 可能的失败原因包括:查询存在问题、"ResultSet"属性设置不正确、参数设置不正确或连接建立不正确。
场景说明
- Execute SQL任务中使用SQL Server Authentication创建OLEDB连接访问数据库
- 执行的TSQL命令如下:
EXEC [SSISDB].[catalog].[create_execution]传入包相关信息EXEC [SSISDB].[catalog].[set_execution_parameter_value]设置包参数EXEC [SSISDB].[catalog].[start_execution] @execution_id启动包执行
- 已核查SSISDB用户角色,确认操作用户拥有访问权限,相同TSQL命令在SSMS中可正常执行
- 原疑问:该问题是否是因为在SSMS之外的本地环境调用SSISDB目录存储过程导致的?
解决方案
将数据库连接的身份验证方式从SQL Server Authentication改为Windows Authentication,再将包部署到SSISDB中测试即可正常运行。本地无法用Windows Authentication测试是因为本地Windows账户没有足够的数据库服务器权限。
内容的提问来源于stack exchange,提问作者Spoorthi Tejasvi
相关产品推荐
相关产品推荐

