从 Web 服务运行 SSIS 包的连接失败

问题描述 投票:0回答:1

我有一个带有使用 SqlClient 数据提供程序的 SQL 连接的 SSIS 包。 它的连接字符串是通过表达式从变量设置的。

我在 SSIS 服务器上托管了一个 .NET 4.8 Windows 服务。它使用以下过程运行 SSIS 包:

  1. 致电
    [catalog].[create_execution]
  2. 调用
    [catalog].[set_execution_property_override_value]
    设置连接字符串变量
  3. 致电
    [catalog].[start_execution]

一切正常。

现在我想用另一台服务器上的 IIS 中托管的 .NET 8 Web 服务替换该 Windows 服务。

  • 其应用程序池帐户与Windows服务使用的帐户相同。 我已经使用 SQL Profiler 确认了这一点。
  • 它使用上面列出的相同 3 个步骤来启动包。

包启动,但失败并出现错误:

获取连接“MyConnection”失败。连接可能未正确配置,或者您可能没有此连接的正确权限。

更新:如果我尝试从脚本任务打开 .NET

SqlConnection
,我会得到

System.Data.SqlClient.SqlException(0x80131904):用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。

尽管任务显示它正在作为预期的域帐户运行。

为什么?

ssis spn
1个回答
0
投票

在此处找到以下内容:

SSIS Windows 服务不支持委派

SSIS 不支持凭据委派,有时称为双跳。在此方案中,您正在客户端计算机上工作,SSIS 安装在第二台计算机上,SQL Server 安装在第三台计算机上。尽管 SSMS 成功地将您的凭据从客户端计算机传递到第二台计算机(运行 SSIS 的计算机),但 SSIS 无法将您的凭据从第二台计算机委托给第三台计算机(运行 SQL Server 的计算机)。

© www.soinside.com 2019 - 2024. All rights reserved.