How do you profile, test and monitor data quality in Azure Synapse with TestGen?

DataOps TestGen connects to Azure Synapse Analytics with a SQL login, a managed identity, or an Entra ID service principal, runs profiling, data tests, and monitors as SQL inside Synapse, and publishes scorecards on a data quality dashboard. It profiles 55 column characteristics and generates 34 test types from the profile. It's Apache 2.0 and free for one connection.

Key points

  • DataOps TestGen authenticates to Azure Synapse Analytics with username and password, an Azure managed identity (since TestGen 5.70.2), or an Entra ID service principal (since TestGen 5.92.1).
  • TestGen's Synapse user needs SELECT on the target tables plus read access to information_schema.columns, sys.objects, and sys.partitions, per DataKitchen's Access Requirements page in October 2026.
  • DataKitchen's TestGen docs name Azure Synapse Analytics without saying which pool type; the documented quickstart loads tables into a Synapse database, so the dedicated SQL pool is the documented path.
  • Microsoft Purview data quality supports Synapse serverless, Synapse data warehouses, and dedicated SQL pools, authenticates only with a managed identity, and profiles a random 1 million row sample, per Microsoft Learn in 2026.
  • Microsoft's Fabric Migration Assistant moves dedicated SQL pool workloads to Fabric Data Warehouse, and since version 5.92.1 TestGen reads Fabric lakehouse and warehouse tables through the OneLake SQL analytics endpoint.

This page is the Synapse setup. For the wider Azure choice, see the Azure answer. For Fabric, see the Fabric setup page.

Microsoft has no single data quality product. DataKitchen’s August 2026 post counted nineteen separate features across five products, Synapse among them. So on Synapse, you pick a tool.

Connect: three ways to authenticate

Access Requirements lists username and password, Azure managed identity, or an Entra ID service principal. The grants:

PermissionWhy TestGen needs it
SELECT on the tables in the target schemaProfile data, run tests, and collect monitor metrics
SELECT on information_schema.columnsDiscover tables, columns, and data types
SELECT on sys.objects and sys.partitionsApproximate row counts for profiling

Enter the Synapse SQL endpoint as Host, the database, and port 1433. Microsoft Learn says Synapse supports Entra identities as contained users but not contained users with SQL authentication, so use a login or an Entra identity.

Dedicated or serverless

TestGen’s docs say “Azure Synapse Analytics” and stop there. The quickstart loads CSV files into Synapse tables, and a serverless pool can’t hold regular tables, so our reading is that the dedicated pool is the documented path. If you point TestGen at a serverless endpoint, run Verify Access first, and know the bill: Microsoft charges serverless queries by data processed, with a 10 MB minimum per query.

Profile: distribution changes the cost

A dedicated pool table is spread across 60 distributions, and a skewed table runs every query at the speed of its slowest distribution. Profiling queries each column individually, so a skewed fact table costs you once per column. Two moves from Data Profiling help: profile every two weeks to a month off-hours, and point table groups at views that hold the recent window rather than ten years of history.

Profiling captures 55 characteristics per column and flags 32 kinds of hygiene issues. TestGen generates 34 test types from that profile, and you configure 19 business-rule and custom SQL types yourself. Every test runs as SQL inside Synapse.

Observe and score

Monitors track freshness, volume, and schema, and alerts go to email, Slack, Microsoft Teams, or a webhook. Each table group gets a scorecard with a total score and a critical data element (CDE) score, and every hygiene issue has a PDF Issue Report. DataOps Observability has a Synapse agent that watches Synapse pipelines, so a late pipeline and a failed test land on one timeline.

Walkthrough from the quickstart

  1. Select Connections, click Add Connection, and pick Azure Synapse Analytics.
  2. Enter the host, database, and credentials. Click Test Connection.
  3. Create a table group, then click Verify Access to check the table list.
  4. Run profiling, review hygiene issues, and open the Data Catalog.
  5. Generate tests in a test suite, run them, and open the Quality Dashboard.
TestGen Test Run Schedules dialog with a test suite set to run every five hours in the America/New_York timezone and the next three run times listed

That’s the schedule dialog on TestGen’s demo data. You set how often a suite runs, in which timezone, and see the next runs before saving.

TestGen vs Purview on Synapse

DataOps TestGenMicrosoft Purview data quality
Synapse supportAzure Synapse AnalyticsServerless, data warehouse, and dedicated SQL pool
AuthenticationLogin, managed identity, or service principalManaged identity only
ProfilingFull table for counts and ranges; optional sampling for patternsRandom 1 million row sample
Tests34 types generated from the profileHand-built and AI-suggested rules
Price basisPer user and connectionPay-as-you-go processing units

Purview sources: data quality overview, supported sources, and troubleshooting, checked October 21, 2026. Purview wins on catalog and governance in one portal. TestGen wins on coverage you didn’t write. DataKitchen’s Purview comparison estimates Purview at $60,000 to $150,000 a year for 10 users and 1,000 tables (DataKitchen’s estimate).

Pricing

The core profiling, testing, and monitoring engine is free and open source. Enterprise adds team access, security, Commercial Pharma tests, source-data controls for AI, and support. Open source covers one user, one database connection, one project, and unlimited tables. Enterprise is $100 per user per month plus $100 per database connection per month. Install open source TestGen. Moving to Fabric? Microsoft’s Migration Assistant moves dedicated SQL pools to Fabric Data Warehouse, and the Fabric setup page covers testing the result. The migration answer covers the procedure, and DataKitchen’s Azure tools post maps where Synapse sits.

Documentation: Azure SQL and Synapse quickstart, Access Requirements, Manage Connections, Data Profiling, Monitor Tables, Connect to Observability, Observability Synapse agent

Frequently asked questions

Short answers to the follow-up questions people ask next.

Does any data leave my environment?

No. TestGen runs its profiling, tests, and monitors as read-only SQL inside Azure Synapse. It stores results and metadata in its own application database: statistics, test outcomes, hygiene findings, and the most frequent values in each profiled column. It never runs INSERT, UPDATE, DELETE, CREATE, ALTER, or DROP against Synapse.

Does TestGen work with a Synapse dedicated SQL pool or a serverless SQL pool?

The dedicated SQL pool is the documented path. DataKitchen's TestGen docs list Azure Synapse Analytics without naming a pool type, and the Azure SQL and Synapse quickstart loads tables into a Synapse database. Before you rely on a serverless endpoint, connect it and run Verify Access, and remember Microsoft bills serverless queries by data processed, at least 10 MB each.

Which authentication methods does TestGen support for Azure Synapse?

Three, as of October 2026: username and password, an Azure managed identity, and an Entra ID service principal. TestGen added managed identity for Synapse in version 5.70.2 on June 30, 2026, and service principal in version 5.92.1 on August 27, 2026. Microsoft Learn notes Synapse doesn't support contained users with SQL authentication, so use a login or an Entra identity.

Should I use Microsoft Purview or TestGen on Synapse?

Use Purview if you want governance, a catalog, and data quality scores in one Microsoft portal. It supports Synapse, but you author or approve every rule, and it profiles a random 1 million row sample, per Microsoft Learn. Use TestGen if you want 34 test types generated from a full-table profile and run inside Synapse. Many teams run both.

We are moving Synapse to Fabric. What should we test?

Test both sides. Microsoft points dedicated SQL pool workloads to Fabric Data Warehouse through its Migration Assistant. TestGen's Table Comparison tests, added in version 5.134.0, run the source's profile-based tests on the copy. TestGen's OneLake connection reads the copy through the Fabric SQL analytics endpoint, which TestGen's docs say takes its schema and data from the underlying lakehouse or warehouse.

Try it on your own data

DataOps TestGen is free and open source. Profile a table and generate its tests this afternoon.