微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SSRS 订阅卡在运行状态

如何解决SSRS 订阅卡在运行状态

订阅了 SSRS,可将报告保存到 Windows 文件共享。

Stuck in Run state

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

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

背景

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

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

解决方法

好的,这是 SQL Server 端的一些错误,运行以下查询产生了奇迹。

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。