从 SQL 查询监视 Power BI 刷新

Monitor Power BI Refreshes from SQL Query

我们有许多具有计划刷新的 Power BI 仪表板。这些刷新是 SQL 个名称为 GUID 的代理作业。我希望能够检查失败的 SQL 代理作业,并了解 Power BI report/dashboard 的刷新失败原因。

有没有办法使用 T-SQL 将名称 GUID 解析为 Power BI 报告?类似于:

SELECT * 
FROM msdb.dbo.sysjobs J 
JOIN ReportServer.dbo.Catalog C 
  ON CAST(C.ItemID AS UNIQUEIDENTIFIER) = CAST(J.name AS UNIQUEIDENTIFIER) 

我想我会分享我的发现,以防其他人需要查询相同的信息:

在 ReportServer 数据库中,ExecutionLogStorage table 有我正在寻找的数据,以便将计划的刷新绑定到目录 table。那里有一个名为请求类型的字段。 RequestType 2 是缓存刷新。

  • 0 = 互动,
  • 1 = 订阅,
  • 2 = 缓存刷新

因此,我使用以下查询开始查看 Power BI 缓存刷新的状态:

SELECT L.TimeStart, L.TimeEnd, C.Path, L.AdditionalInfo, L.Status, 
    ROW_NUMBER() OVER (PARTITION BY C.Path ORDER BY L.TimeEnd DESC) AS rn, L.ExecutionId 
FROM ReportServer.dbo.ExecutionLogStorage L WITH(NOLOCK)
LEFT OUTER JOIN ReportServer.dbo.Catalog C WITH(NOLOCK) ON (L.ReportID = C.ItemID)
WHERE L.RequestType = 2 --cache refreshes
AND L.TimeEnd >= DATEADD(DAY,-1,GETDATE())