Power BI网页端刷新BigQuery数据时,无法通过INFORMATION_SCHEMA.JOBS追踪查询
我通常用SCHEMA_METADATA追踪公司数据集运行,通过Power BI连接器每日基于BigQuery表更新数据集。在Power BI Desktop手动刷新时,可通过以下查询查看Power BI执行的所有查询:
SELECT * FROM `region-eu`.INFORMATION_SCHEMA.JOBS WHERE date(creation_time)=CURRENT_DATE() ORDER BY creation_time DESC
但网页端刷新时看不到这些查询记录,无法追踪所有刷新的表,只能手动逐个刷新数据集。以下是可能的原因:
身份权限与日志可见性差异:Power BI Desktop刷新用的是本地登录的个人账号,而网页端刷新依赖Power BI服务的托管身份(或你配置的专用服务主体)。BigQuery的
INFORMATION_SCHEMA.JOBS默认仅展示当前查询账号发起的作业,若网页端使用的身份和你查询日志的账号不同,自然看不到对应作业。需确保查询日志的账号拥有查看所有BigQuery作业的权限,或切换到网页端使用的服务主体身份进行查询。作业区域不匹配:你查询的是
region-eu区域的作业视图,但网页端刷新时可能连接了其他区域的BigQuery资源(比如Power BI服务默认选用的区域与你的数据集区域不一致)。BigQuery作业会落在数据所在的区域,需确认网页端刷新对应的作业区域,调整查询中的区域参数,或使用跨区域的审计日志进行查询。Power BI服务缓存机制:网页端刷新时,若Power BI服务检测到数据未发生变化,可能直接使用缓存数据,不向BigQuery发起新查询。这种情况下不会生成新的作业记录,可尝试在刷新前清除数据集缓存,或检查数据集刷新设置中是否启用了缓存优化策略。
作业记录延迟或时间范围限制:BigQuery的作业记录可能存在几分钟的延迟才会同步到
INFORMATION_SCHEMA.JOBS视图中,另外你查询的是当日数据,若网页端刷新发生在跨日期时段(比如凌晨),可能超出当前查询的时间范围。可扩大查询的时间窗口,比如改为creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 24 HOUR)来覆盖过去24小时的作业。
内容的提问来源于stack exchange,提问作者Ivan Cereghetti

