Open source data quality for SQL Server

Stop writing SQL Server data quality tests by hand.

Point TestGen at SQL Server, on-prem or in Azure. It profiles every table, generates thousands of tests, and flags hygiene issues on the first run. Read-only access. Free and open source.

Start here

Install TestGen

Pick your platform. Free and open source.

$ Select a platform above to get started.
  • 55data profiling column characteristics
  • 32data hygiene detectors
  • 34test types auto-generated from the profile
  • 19business rule and custom SQL test types

Connect TestGen to SQL Server

TestGen runs read-only queries inside your database. It never creates, changes, or deletes anything. A SQL login with SELECT on your schema is all it needs.

Versions
SQL Server 2019 and later. Still on SQL Server 2017? Talk to us.
Sign-in
SQL Server login (username and password).
Permissions
SELECT on the tables you want tested. information_schema and sys.partitions are readable by default, and sys.objects shows the tables you can already select.
Where TestGen runs
On a server, VM, or laptop on your network, next to the database. On-prem SQL Server is fine: your data never leaves your environment.

SQL Server data problems TestGen catches

The usual suspects in a SQL Server estate that has grown for a decade. Each card lists the TestGen checks that find it.

What TestGen does on SQL Server

Everything below is in the open source release, and all of it works on SQL Server. Enterprise adds team access, security, Commercial Pharma tests, and support.

Why teams choose TestGen

  • You Don't Have Time to Write Tests. TestGen Does It Automatically.

    You're buried in customer requests. You have no time to write tests, let alone innovate. TestGen scans your data and generates the tests and anomaly detectors for you. No coding, no massive YAML configuration.

  • SQL Server data quality usually means hand-written T-SQL checks.

    TestGen writes them for you from a profile of every column, then keeps running them on a schedule, so the checks grow with the database instead of falling behind it.

    See how TestGen works →
  • Runs inside SQL Server

    Tests run as read-only SQL where the data sits. Nothing is copied out, and nothing is written back.

  • Apache 2.0, core engine free

    Every detector, every characteristic, and every test type but the 12 Commercial Pharma types. In the open source.

  • Self-hosted

    Your data never leaves your environment.

  • Bootstrapped since 2013

    Profitable, independent, and not pivoting next quarter.

Open Source with Reasonable Enterprise Pricing

Open source TestGen is free for one user, one project, and one database connection. Enterprise is a flat $100 per month per user and database connection, with unlimited tables and data volume. No per-table tax. A year of enterprise data quality costs roughly one data engineer's monthly salary.

See pricing
Enterprise, per user and database connection$100/mo
Open source: one user, one project, one connectionFree

TestGen versus the competition

Head-to-head comparisons with every major data quality and observability tool. Search for the one you are evaluating.

Trusted by data teams at
  • Bristol Myers Squibb
  • Eisai
  • Catholic Relief Services
  • Progeny Health
  • X4
  • KOA
  • CNH

Questions

Which SQL Server versions does TestGen support?

SQL Server 2019 and later. If you are still on SQL Server 2017, talk to us.

How does TestGen sign in to SQL Server?

With a SQL Server login (username and password) that has SELECT on the tables you want tested. information_schema and sys.partitions are readable by default, so no other grants are needed.

Can TestGen run on-prem, next to SQL Server?

Yes. TestGen is self-hosted: install it on a server, VM or laptop that can reach the database, on Windows, Mac or Linux. Your data never leaves your environment.

Does TestGen change anything in my database?

No. TestGen runs read-only SELECT queries to profile data, run tests and collect monitor metrics. It never runs INSERT, UPDATE, DELETE, CREATE, ALTER or DROP, and it stores only computed results (statistics, scores and test outcomes) in its own application database.

Can TestGen check data that SQL Server constraints don’t enforce?

Yes. Foreign keys created WITH NOCHECK, missing unique constraints and VARCHAR columns that hold dates or numbers are common in older schemas. TestGen’s Reference Match, Unique Values and Character Column with Mostly Date Values checks find the rows the constraints would have stopped.

How do I run TestGen after a nightly SSIS or SQL Agent load?

Schedule test runs in TestGen, or call its CLI or API as the last step of the job so the tests run right after the data lands. Table Freshness and Recency checks also flag a load that never ran.

Is TestGen free?

The open source edition is free under Apache 2.0, for one user, one project and one connection, with every detector and test type except the Commercial Pharma tests. Enterprise is $100 per user per month plus $100 per database connection per month, with no per-table fees. See pricing.

The DataOps Way to Data Quality and Data Observability cover

Free book

Not ready to try it out now? Read the free book.

The DataOps Way to Data Quality and Data Observability covers why data quality keeps failing and what to do about it: culture, testing strategy, monitoring, and the seven deadly sins of AI-generated pipelines.

  • 620 pages
  • 63 chapters
  • Updated September 2026
  • By Chris Bergh, Chip Bloche, and Gil Benghiat