SSRS 订阅卡在 运行 状态

SSRS subscription stuck in running state

我在 SSRS 中有一个订阅,可以将报告保存到 windows 文件共享。

当我手动运行这个订阅时,结果卡在了运行状态。虽然,当尝试在没有订阅的情况下创建报告时,它在 windows 文件共享目录中成功地做到了。

我尝试查看文件夹权限,但这不是问题所在。

背景

SSRS 是一个单独的独立服务器,与另一个 SQL 服务器交互。 SQL 和 SSRS 都在不同的远程服务器上。

连接不会成为问题,因为报告是在没有订阅的情况下生成的(这也排除了任何权限问题)

好吧,这是 SQL 服务器端的一些错误,运行以下查询效果很好。

PS: 欢迎任何人解释为什么这些有效

首先 运行在 SSMS 中执行以下查询(在 SSMS 中按 Ctrl + N 以 运行 一个新查询)

USE master
GO
GRANT EXECUTE ON master.dbo.xp_sqlagent_notify TO RSExecRole
GO
GRANT EXECUTE ON master.dbo.xp_sqlagent_enum_jobs TO RSExecRole
GO
GRANT EXECUTE ON master.dbo.xp_sqlagent_is_starting TO RSExecRole
GO

然后,运行下面的查询

USE msdb
GO
GRANT EXECUTE ON msdb.dbo.sp_help_category TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_add_category TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_add_job TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_add_jobserver TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_add_jobstep TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_add_jobschedule TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_help_job TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_delete_job TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_help_jobschedule TO RSExecRole
GO
GRANT EXECUTE ON msdb.dbo.sp_verify_job_identifiers TO RSExecRole
GO
GRANT SELECT ON msdb.dbo.sysjobs TO RSExecRole
GO
GRANT SELECT ON msdb.dbo.syscategories TO RSExecRole
GO

然后禁用并启用订阅或创建新订阅并运行。这应该有效!