Your ServiceProof tenant is a SQL Server.

Point Power BI, Tableau, Excel, SSMS, a linked server, or any ODBC/JDBC tool at your tenant and query everything — entities, views, reports, forms, field answers, and even hydrated contexts — as ordinary SQL tables. No custom driver, no export step, no API glue: the endpoint speaks the real TDS wire protocol, so the tools your analysts already run connect like it's any other database. Typed columns (decimal / date / time / bit), composite primary keys, and an auto-wired relationship graph mean Power BI builds its model on load — tables, keys, and joins arrive pre-connected.

Power BI auto-wired modelSSMS + linked servers (OPENQUERY)Tableau / Excel / Grafana over ODBCTyped columns + composite keysTime travel - FOR SYSTEM_TIMEField answers as a 29-column tableContexts as tables (ctx.*)[[tokens]] resolve on the wireGated writes with validation parityCREATE TABLE - DDL to a real entityTLS by default - real certs supportedRow caps, session caps, query budgets

On your LAN, or from the cloud.

On-prem: the same SPSQLSync agent that syncs your source SQL Server can also serve your ServiceProof data as a SQL Server on your network — one self-contained exe, outbound HTTPS for data, a local SQL port for your BI estate, installed as a Windows service with one command. Cloud: the platform itself can present your tenant at a public host,port with a real certificate — full TLS validation, zero trust flags. Either way it is a window, not a copy: the endpoint reads through the same governed API your integrations use, every login is scoped to its tenant, read-only by default, and anything the engine cannot answer faithfully refuses with a clean SQL error rather than returning wrong rows.

-- SSMS, straight at your tenant:
SELECT TOP 10 * FROM ent.WorkOrder WHERE JobStatus = 'In-Progress';

-- last month's field answers, flat:
SELECT StepName, Value, CompletedLocal FROM ans.StartOfDay;

-- the whole business world around ONE work order, hydrated:
SELECT Level, Field, Value FROM ctx.WorkOrderContext WHERE [Key] = 'WO-5001';

-- time travel:
SELECT * FROM ent.Equipment FOR SYSTEM_TIME AS OF '2026-06-01';

Everything TDS + SPSQLSync, one shelf.

The SQL Endpoint Guide
The exhaustive manual: setup, profiles, discovery, the query surface, temporal reads, contexts, writes, config knobs, and the connection cookbook for every tool.
The Recipe Cookbook
Worked examples for DBAs, ETL engineers, and AI agents: the 60-second orientation, the answers chapter, the gated write doors, contexts over SQL, and the estate patterns (SSMS / Power BI / Tableau / ADF).
SPSQLSync Setup Guide
The IT-admin install: drop the exe, save credentials once, verify, register, get enabled in the Portal, then SPSQLSync.exe --install makes it a Windows service in one command.
Endpoint Internals
For platform engineers: the resolve pipeline, the navigator protocol contract, temporal mechanics, the result cache, scoping, and the extension recipes.
Downloads
The SPSQLSync agent zip (exe + the setup guide + the SQL manual + the cookbook) — most-recent build, ready for the box next to your SQL Server.
MCP Connector
The AI-agent door: plug your tenant into Claude, ChatGPT, or any MCP client — the same governed surface, as native tools. SQL for the humans, tools for the agents.

Under the hood this is one pure engine serving both legs, byte-identically — and it fails closed: a filter, sort, page, or aggregate the endpoint cannot translate is refused with the exact working pattern named in the error, because silently-wrong rows are the one thing a reporting stack can never forgive.