预定报告仍处于待处理状态

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

我已经创建了 SSRS 报告。当我尝试在报表服务器上查看此报表时,它工作正常。

现在我正在尝试使用报表服务器的订阅功能按计划导出 PDF 格式的报表。为此。

我为一些报告创建了新订阅,并使用共享计划安排了报告。调度工作正常。

问题在于订阅选项卡下的报告订阅状态,它显示

“写入文件 iaserver\Shared\Test.pdf 失败:使用当前用户的安全上下文发生模拟错误”

enter image description here

sql reporting-services ssrs-2012
2个回答
0
投票

您是否检查过报表的数据源设置,以及RS执行帐户是否有权限在“iaserver\Shared\”处写入文件?

嗨拉朱

问题可能有点复杂,因为您没有报告的日志。所以只是一些一般性的建议,希望可以帮助你:

要检查订阅内报表是否运行成功,可以在报表服务器数据库中查询executionlog2,默认查询应如下所示:

select * from ReportServer..ExecutionLog2 where RequestType = 'Subscription'

可以不生成PDF订阅,直接运行报告吗?还是这个报告很大?这是因为在生成pdf格式的报告时,分页会消耗大量资源。如果减小报表大小,订阅可以成功运行吗?

RS订阅依赖于SQL Agent,能否查看SQL Agent作业是否运行成功?要查找与订阅相关的作业,您可以使用以下查询,其中 ScheduleID 列是您查找作业所需的内容:

use ReportServer
go

 SELECT S.ScheduleID AS SQLAgent_Job_Name
      , SUB.Description AS Sub_Desc
      , SUB.DeliveryExtension AS Sub_Del_Extension
      , C.Name AS ReportName
      , C.Path AS ReportPath
 FROM ReportSchedule RS JOIN Schedule S ON RS.ScheduleID = S.ScheduleID
      JOIN Subscriptions SUB ON RS.SubscriptionID = SUB.SubscriptionID
      JOIN Catalog C ON RS.ReportID = C.ItemID AND SUB.Report_OID = C.ItemID
 WHERE C.Name LIKE '%%' 

0
投票

这里有一些额外的要点可以帮助您调试问题;我今天遇到了许多这样的问题 - 在 Server 2012 R2 上使用 SQL 2016。 我写这篇文章主要是为了我自己的参考,但希望(a)它能帮助其他人,(b)有人可以提供有关正在发生的事情的更多信息。

  • 我们设置了一个域,我试图使用域帐户作为模拟帐户。 使用本地帐户。该帐户应具有登录权限。

  • 设置共享。仅允许 UNC 路径,因此请确保上一个要点中设置的用户具有 (a) NTFS 文件夹权限和 (b) 共享权限。这是两件事。即使共享位于本地计算机上也请执行此操作。

  • 我喜欢停止报告服务,在

    <drive>\Program Files\Microsoft SQL Server\MSRS(SSRS version).MSSQLSERVER\Reporting Services\LogFiles\
    中重命名日志文件,然后再次启动它,这样就会有一个新文件,并且您不会向下滚动到 5MB 文件的底部。

  • 向 SQL Server Reporting Services 之神牺牲一些东西——一只动物,你的长子。我们仍在尝试确定发生了什么,但在这个阶段,我们将 PDF 生成到本地文件夹,但它仍然写出每个有错误的 PDF,与我们未写出 PDF 时遇到的错误相同。 正在写出PDF文件。我不知道为什么它也会写出与无法写出每个 PDF 时相同的错误,我完全困惑了,显然 SSRS 也是如此。 我一定会用附加信息更新此错误我们弄清楚了这一点,但这绝对不是我们有幸处理过的最简单的微软产品。

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