fabric-monitoring-dmv

Monitor Fabric semantic models via DMV queries against the XMLA endpoint.

4|1|Updated May 22, 2026
One-click install
npx skills add https://github.com/ThomazRossito/ai-data-agents --skill fabric-monitoring-dmv-thomazrossito
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: fabric-monitoring-dmv
Source: https://github.com/ThomazRossito/ai-data-agents/tree/main/plugins/ai-data-agents/skills/fabric-monitoring-dmv
Command: npx skills add https://github.com/ThomazRossito/ai-data-agents --skill fabric-monitoring-dmv-thomazrossito

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyadomd, and includes references (resource) components.

What problem does it solve? Manually monitoring Fabric semantic model health, partitions, memory usage, and refresh status requires direct XMLA endpoint connections with pyadomd or DAX Studio, which does not scale across multiple models and requires combining DMV data with Power BI REST API refresh history. ## Core Features & Use Cases - DMV Query Execution: Connect to the XMLA endpoint with SPN or user credentials and run TMSCHEMA queries for tables, partitions, measures, and columns. - Refresh Monitoring & Triggering: Retrieve refresh history and start full or enhanced refreshes through the Power BI REST API. - Use Case: A data platform team needs to verify that all partitions of a FactSales model refreshed within the last 24 hours and trigger an enhanced refresh for a stale partition, all from a scheduled Python job. ## Quick Start Ask the agent to connect to your Fabric workspace with a service principal and report the partition refresh status and recent refresh history for a given semantic model.

Frequently Asked Questions about fabric-monitoring-dmv

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I monitor Fabric semantic model refreshes programmatically?▼

Use the Power BI REST API endpoint GET /v1.0/myorg/groups/{workspaceId}/datasets/{modelId}/refreshes to retrieve refresh history with status, start time, and duration. Combine this with DMV queries against the XMLA endpoint for partition-level detail.

How to query DMV data from a Power BI semantic model in Python?▼

Install pyadomd, add the ADOMD.NET DLL path to sys.path before importing, then connect with an XMLA connection string and run queries like SELECT * FROM $SYSTEM.TMSCHEMA_PARTITIONS. Results return as pandas DataFrames.

Which DMV families are supported via the Fabric XMLA endpoint?▼

Only $SYSTEM.TMSCHEMA_*, $SYSTEM.DMSCHEMA_*, and $SYSTEM.MDSCHEMA_* families work via the Fabric XMLA endpoint. $SYSTEM.DISCOVER_* DMVs return permission errors because they require Analysis Services server admin rights not granted in Fabric.

Why does my DMV query fail with a syntax error?▼

DMV syntax does not support JOIN, GROUP BY, LIKE, CAST, or CONVERT operations. Run separate queries for each DMV table and merge results in Python with pandas instead of attempting SQL-style joins.

Why does SPN refresh return 403 on my workspace?▼

Service principal refresh only works on workspaces in Premium, PPU, or Fabric capacity. On Pro or Shared workspaces, SPN calls return 403; use a master user account as a workaround.

How do I trigger an enhanced refresh instead of a simple API refresh?▼

Include at least one enhanced parameter in the POST payload: commitMode, maxParallelism, retryCount, or objects. Without these, the refresh is classified as a simple API refresh, and the workspace must be on Premium, PPU, or Fabric capacity.