You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server 2022运行SSIS包报Invalid Authorization Specification错误求助

解决SQL Server 2022虚拟机上SSIS包执行“Invalid Authorization Specification”报错

问题概况

在SQL Server 2022虚拟机运行SSIS包时触发错误:

Invalid Authorization Specification
该包在本地及其他服务器可正常运行,使用的连接字符串为:

Integrated Security=SSPI;Persist Security Info=False;Data Source=MyVMName;

已尝试操作:安装最新版OLE DB Driver 19、在连接字符串中指定驱动、切换32/64位模式运行;且虚拟机上通过UDL使用Microsoft OLEDB Provider for SQL Server可成功连接。

可行解决建议

  • 检查SSIS服务运行账户权限:
    SSIS包在服务器上运行时,默认使用SQL Server Integration Services服务的账户(而非登录虚拟机的本地账户)。确认该账户是否拥有目标数据库的登录权限,以及能否通过Windows身份验证访问MyVMName实例。可尝试将SSIS服务账户添加到目标数据库的db_datareader/db_datawriter角色,或赋予对应的登录权限。
  • 验证SPN配置:
    使用Windows身份验证(SSPI)跨机器连接时,服务主体名称(SPN)配置错误会导致授权失败。检查目标SQL Server实例的SPN注册情况:
    1. 在虚拟机或域控制器的命令提示符中执行setspn -L <SQL服务账户>,查看已注册的SPN列表。
    2. 确认存在格式为MSSQLSvc/MyVMName:1433(或对应实例的端口号)的SPN,若缺失则执行setspn -A MSSQLSvc/MyVMName:1433 <SQL服务账户>添加。
  • 切换身份验证方式测试:
    暂时将连接字符串改为SQL Server身份验证,排查Windows身份验证的问题:
    Server=MyVMName;Database=YourTargetDB;User Id=SQLAccount;Password=YourPassword;
    
    若此方式能正常运行,说明Windows身份验证环节存在配置问题,可针对性进一步排查。
  • 检查SSIS包连接管理器与保护级别:
    打开SSIS包的连接管理器,确认是否勾选「保存敏感数据」,同时检查包的保护级别设置。如果包使用EncryptSensitiveDataWithUserKey,在虚拟机上因运行账户不同会导致敏感数据无法解密,可改为EncryptSensitiveDataWithPassword或DontSaveSensitive(配合配置文件存储敏感信息)。
  • 验证虚拟机Kerberos配置:
    在虚拟机命令提示符执行klist get MSSQLSvc/MyVMName:1433,查看能否获取到Kerberos票据。若获取失败,说明Kerberos身份验证存在异常,需检查虚拟机的DNS配置、域信任关系(若为域环境)。

内容的提问来源于stack exchange,提问作者wilson_smyth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 12:33:29