从 SQL 查询监视 Power BI 刷新

时间:2020-12-21 20:09:06

标签: sql-server refresh power-bi-report-server sql-agent

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

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

 updateUserMarker: (marker, markerIndex) => {
      console.log('marker, markerIndex ', marker, markerIndex);

      let updatedMarker = user.markers.map(element =>
        element.id == markerIndex ? { ...element, ...marker } : element
      )[0];

      console.log(
        'user.markers[markerIndex] updatedMarker ',
        user.markers[markerIndex],
        updatedMarker
      );
      setUser({
        ...user,
        markers: [
          {
            ...user.markers[markerIndex],
            ...(user.markers[markerIndex] = updatedMarker)
          }
        ]
      });
    },

1 个答案:

答案 0 :(得分:0)

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

在 ReportServer 数据库中,ExecutionLogStorage 表包含我正在寻找的数据,以便将计划的刷新与目录表联系起来。那里有一个字段叫做请求类型。 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()) 
相关问题