该操作无法由使用 SQL 服务器身份验证错误的帐户启动 当 运行 ssis 来自 SSRS 中的存储过程

The operation cannot be started by an account that uses SQL Server Authentication error When running ssis from stored proc in SSRS

我收到以下错误:

使用 SQL 服务器身份验证的帐户无法启动该操作。使用使用 Windows 身份验证

的帐户开始操作

我有一个 ssrs 报告,它使用从存储过程派生的数据集。存储过程先创建一个执行,执行一个ssis包,然后再绘制数据。在 visual studio 中,我可以很好地预览报告。数据源使用集成安全性(尽管我希望我可以传递 sql 服务器帐户)。当我将报告上传到 SSRS 时,它给我关于使用具有 windows 身份验证的帐户的错误。我检查了服务器上的数据源,它设置为使用 windows 身份验证。我不确定我做错了什么或如何解决这个问题。

我的 sql 服务器是 2012 r2(ssrs 是 2008)

显然,在数据源中添加 windows 登录名是可行的,但无法进入 visual studio 但在 ssrs 上更新数据源就成功了。

问题是您无法使用 SQL 服务器帐户执行存储在 SSISDB 目录中的 SSIS 包。

这就是将尝试启动 SSIS 程序包的用户更改为 'Windows Authentication user' 的原因。

可以在此处找到类似的问题;

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/bbd2b556-8f68-4e04-94d1-754127886361/unable-to-execute-ssis-package-from-sql-server-login?forum=sqlintegrationservices

Trusted_Connection = False;
Password = ***;
User ID = ***;
Data Source = localhost;
Initial Catalog = master;
Integrated Security = SSPI;

这个连接字符串对我有用!

Integrated Security = SSPI;

忽略用户 ID 和密码并使用 Windows 身份验证 :D

将 SSIS 包安排为具有 windows 身份验证的作业,然后使用

调用作业本身

使用 msdb;

开始

EXEC dbo.sp_start_job N'工作名称'; 开始

适合我