Skip to main content
Power BI Sentinel

Report template library

Pre-built Power BI templates that connect directly to your Power BI Sentinel database. Download, open in Power BI Desktop, and your data is ready to explore.

Governance Audit Discovery AI Fabric capacity migration

This applies to you if you signed up to Power BI Sentinel before June 2025. To get the best performance from the Audit Log and Governance report templates, your dbo.LogRecord table needs its clustered index updated to use CreationTime ASC, Id ASC. The script below will check whether an update is needed and walk you through the process. This must be run by someone with database administrator access to your Power BI Sentinel database.

What the script does

  1. Check the current index. Queries your dbo.LogRecord table and reports the current clustered index key columns. If the result already shows CreationTime ASC, Id ASC, no further action is needed.
  2. Upgrade your database tier. Before running the index change, temporarily scale up your Azure SQL database. S7 (800 DTUs) is recommended for most customers. If you are on the Enterprise 5000 (E-5000) licence tier or above, your LogRecord table is likely larger and may require S9 or S10 to complete the operation without timing out. You can scale back down once the index update is complete.
  3. Run the index update. Rebuilds the clustered index online and resumably, so your database stays available throughout. You can monitor progress, and pause, resume, or abort the operation at any point using the included queries.
  4. Scale your database back down. Once complete, return your database to its usual tier.
  5. Confirm the update. Re-run the first query to verify the index now shows the correct key columns.

SQL script

T-SQL
/***********************************************************************/
/* Power BI Sentinel                                                   */
/* Process to change the clustered index for dbo.LogRecord             */
/* Last Updated: 27th February 2026                                    */
/*                                                                     */
/* Process:                                                            */
/* 1 - Check the current clustered index to see if it needs updating  */
/* 2 - Upgrade the database to a high spec, recommended S7, 800 DTUs  */
/* 3 - Run the clustered index upgrade script                          */
/* 4 - Downgrade the database back to the usual spec                  */
/* 5 - Run the first query again to check the new clustered index      */
/*                                                                     */
/***********************************************************************/

/* 1 - Check the current clustered index to see if it needs updating  */
/* The KeyColumns column should be 'CreationTime ASC, Id ASC'         */
/* If it is, no update is required                                     */
/* If it is different, please proceed to update the clustered index    */

SELECT
    s.name                          AS SchemaName,
    t.name                          AS TableName,
    i.name                          AS IndexName,
    i.type_desc                     AS IndexType,
    STRING_AGG(
        CASE
            WHEN ic.is_included_column = 0
            THEN c.name +
                CASE WHEN ic.is_descending_key = 1
                    THEN ' DESC'
                    ELSE ' ASC'
                END
        END, ', '
    ) WITHIN GROUP (ORDER BY ic.key_ordinal) AS KeyColumns,
    CASE WHEN STRING_AGG(
        CASE
            WHEN ic.is_included_column = 0
            THEN c.name +
                CASE WHEN ic.is_descending_key = 1
                    THEN ' DESC'
                    ELSE ' ASC'
                END
        END, ', '
    ) WITHIN GROUP (ORDER BY ic.key_ordinal) = 'CreationTime ASC, Id ASC'
    THEN 'OK' ELSE 'Needs Updating' END AS [Status]
FROM sys.tables t
JOIN sys.schemas s
    ON t.schema_id = s.schema_id
JOIN sys.indexes i
    ON t.object_id = i.object_id
JOIN sys.index_columns ic
    ON i.object_id = ic.object_id
    AND i.index_id = ic.index_id
JOIN sys.columns c
    ON ic.object_id = c.object_id
    AND ic.column_id = c.column_id
WHERE
    s.name = 'dbo'
    AND t.name = 'LogRecord'
    AND i.type = 1  -- 1 = Clustered index
GROUP BY
    s.name,
    t.name,
    i.name,
    i.type_desc,
    i.is_unique,
    i.is_primary_key,
    i.fill_factor,
    i.filter_definition;

/***********************************************************************/
/* 2 - Upgrade the database to a high spec, recommended S7, 800 DTUs  */
/* BEFORE updating the clustered index, temporarily upgrade the        */
/* database. Changing this table is a very intensive process and will  */
/* take time. To ensure it runs quickly and doesn't timeout, it is     */
/* important to maximise the power of the database.                    */
/* The actual spec required will depend on the size of your LogRecord  */
/* table.                                                              */
/***********************************************************************/

/***********************************************************************/
/* 3 - Run the clustered index upgrade script                          */
/* The database will be available and online during this process       */
/***********************************************************************/

CREATE CLUSTERED INDEX [IX_CLUS_LogRecord]
ON dbo.LogRecord (CreationTime, Id)
WITH
(
    DROP_EXISTING = ON,
    ONLINE        = ON,
    RESUMABLE     = ON,
    MAXDOP        = 1
);

/* Check progress in a separate query window:                          */
SELECT *
FROM sys.index_resumable_operations
WHERE object_id = OBJECT_ID('dbo.LogRecord');

/* Pause, resume, or abort the operation if needed:                    */
--ALTER INDEX IX_CLUS_LogRecord ON dbo.LogRecord PAUSE;
--ALTER INDEX IX_CLUS_LogRecord ON dbo.LogRecord RESUME;
--ALTER INDEX IX_CLUS_LogRecord ON dbo.LogRecord ABORT;

/***********************************************************************/
/* 4 - Downgrade the database back to the usual spec                   */
/***********************************************************************/

/***********************************************************************/
/* 5 - Re-run the first query to confirm the new clustered index       */
/***********************************************************************/

These report templates give you a ready-built Power BI interface directly on top of your Power BI Sentinel database. Download the template, open it in Power BI Desktop, and enter your server and database names in the parameters box. The connection is established automatically.

We recommend connecting via a Power BI Gateway so your reports can refresh automatically. If you need help setting one up, see our guide to setting up a Power BI Gateway.

Use anonymous authentication for the URL datasource. This API call provides version history and notifications from Power BI Sentinel.

Report templates

Power BI Governance Report screenshot

Power BI Governance Report

A comprehensive view of your Power BI estate covering permissions, lineage, security, and compliance. Covers workspace structure, access levels, data lineage, stale content, and ownership gaps. Includes a Refresh Timeline View on the semantic model refresh metrics. Works across all licence tiers.

v3.06 Updated 11 June 2026
Download
Power BI Audit Report screenshot

Power BI Audit Report

Deep activity logging and user behaviour analysis across your Power BI environment. Tracks report views, dataset refreshes, permission changes, and user actions. Suitable for compliance reviews and internal audits.

v2.03 Updated 07 May 2026
Download
Discovery AI Report screenshot

Discovery AI Report

Visualises the outputs of Discovery AI, bringing business context to Power Query, SQL, and DAX across your entire tenant. Surfaces AI-generated descriptions and makes your data logic understandable to technical and business users alike.

This report will only populate with data on a Discovery AI tier licence.
v1.04 Updated 07 May 2026
Download
Microsoft Fabric Capacity Migration Report screenshot

Microsoft Fabric Capacity Migration Report

Plan and track your move from Power BI to Microsoft Fabric with confidence. Covers capacity and workspace inventory, semantic model filetype breakdown, required migrations to Fabric SKUs, and workspace readiness status.

v1.01 Updated 07 May 2026
Download

Getting started

  1. Ensure you have connected your Azure SQL Database in the Configure screen of your Power BI Sentinel portal. The tables will be created overnight, and content updated daily.
  2. Download the template and open it in Power BI Desktop. You will be prompted for your SQL Server name and Database name.
  3. Authenticate using the username and password you entered when setting up the database, or grant your own account appropriate rights to query it.
  4. Please feel free to adapt the template to your own needs as you see fit.

Common problems

  • Your IP address has not been allowed through the database server’s firewall.
  • Incorrect username or password: make sure you are using the credentials entered when creating the database.
  • Insufficient permissions: grant your user account appropriate rights to query the database.
  • Try creating a new Power BI report to test the connection to the database directly.

Power BI Sentinel is not able to provide technical support for your database setup.