| What it is | Microsoft’s first-party T-SQL parser and script generator, the engine inside DacFx and SqlPackage | A multi-dialect SQL parsing SDK: 38 dialects, validation, formatting, and column-level lineage |
| Dialects | T-SQL only (SQL Server, and T-SQL-compatible Azure SQL surfaces), with versioned parser classes per SQL Server release | 38 dialects, each with its own dedicated grammar — Oracle, Teradata, Snowflake, IBM Db2, PostgreSQL, MySQL, Informix, Netezza, Sybase, SAP HANA, Vertica, and more, plus T-SQL |
| License / price | Free — open source under the MIT license, shipped as the Microsoft.SqlServer.TransactSql.ScriptDom NuGet package | Commercial with support SLA and 90-day free trial |
| Platform | .NET only | Java (JDK 8+) and .NET (.NET Standard 2.0) |
| T-SQL depth | Excellent — first-party AST for the full T-SQL surface, kept current with SQL Server releases by the team that builds the tooling | Full T-SQL grammar including procedure bodies, BEGIN/END blocks, TRY/CATCH, and EXECUTE — one grammar among 38 |
| Stored procedures / procedural SQL beyond T-SQL | Not applicable — no PL/SQL, DB2 SQL PL, or Teradata support | Fully parsed ASTs: PL/SQL packages, types, and triggers; DB2 SQL PL cursors; Teradata procedures and BTEQ, alongside T-SQL |
| Dynamic SQL | Parsed as a string argument to EXEC — the SQL inside the string is opaque unless you re-parse it yourself | Evaluated — GSP constant-folds EXEC('...') strings and parameter bindings to recover lineage from dynamic SQL |
| Column-level lineage / impact analysis | Not provided — you get a rich AST and visitor pattern, and build lineage yourself | Lineage engine covering queries, stored procedures, dynamic SQL, and multi-statement scripts, with impact analysis and call graphs (the engine behind Gudu SQLFlow) |
| Syntax validation | Parse errors with positions for T-SQL | Offline validation with detailed error positions across all 38 dialects, no database connection required |
| SQL formatting | SqlScriptGenerator regenerates scripts with configurable options — T-SQL only | Dedicated formatter with 72+ configurable style options, across dialects |
| Tests / releases | Maintained by Microsoft alongside DacFx and SQL Server releases | 12,000+ unit tests, releases roughly weekly, 20+ years of development |
| Support for edge cases | GitHub issues on the microsoft/DacFx repository | Commercial support: send failing SQL, get a fix in a scheduled release |