Remove sqljdbc_xa.dll: drop legacy XA extended-procedure DLL - #3017
Remove sqljdbc_xa.dll: drop legacy XA extended-procedure DLL#3017Ananya Garg (Ananya2) wants to merge 4 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3017 +/- ##
============================================
+ Coverage 60.18% 60.52% +0.33%
- Complexity 5138 5251 +113
============================================
Files 153 153
Lines 36673 36679 +6
Branches 6733 6733
============================================
+ Hits 22073 22201 +128
+ Misses 10751 10742 -9
+ Partials 3849 3736 -113 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR updates the driver’s documentation and diagnostic messaging to remove outdated guidance about installing sqljdbc_xa.dll, aligning XA setup guidance with SQL Server 2017+ built-in XA stored procedures enabled via sp_sqljdbc_xa_install.
Changes:
- Updates README XA guidance to remove
sqljdbc_xaDLL installation instructions and point users toEXEC sp_sqljdbc_xa_installon SQL Server 2017+. - Updates
DLLExceptionclass comment to reference only themssql-jdbc_authDLL. - Updates XA state machine test diagnostic strings to reference enabling XA via
sp_sqljdbc_xa_install.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| README.md | Removes outdated sqljdbc_xa DLL instructions and adds SQL Server 2017+ XA enablement guidance. |
| src/main/java/com/microsoft/sqlserver/jdbc/DLLException.java | Updates comment to remove sqljdbc_xa DLL mention. |
| src/test/java/com/microsoft/sqlserver/jdbc/statemachinetest/xa/XAStateTest.java | Updates diagnostic output/hints to reference sp_sqljdbc_xa_install instead of DLL/script installation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Summary
Removes all references to the legacy server-side
sqljdbc_xa.dllfrom the driver's documentation and diagnostics. XA distributed transactions now rely solely on thexp_sqljdbc_xa_*extended stored procedures that are built into SQL Server 2017 CU16 and later (enabled viaEXEC sp_sqljdbc_xa_install). The DLL is no longer shipped.Motivation
sqljdbc_xa.dllwas only required for SQL Server 2016 and earlier — the sp_xa procedures have been built into the SQL Server engine since SQL Server 2017 CU16. The server-side sp_xa sprocs originally derived from the code in this JDBC DLL, so a recently reported MSRC vulnerability in the server procedures is likely to exist in the DLL as well. With SQL Server 2016 leaving the 5+5 support lifecycle this year, the DLL can be safely dropped rather than serviced.Changes
sqljdbc_xa; documents that XA procedures are built into SQL Server 2017 CU16+ (enable viasp_sqljdbc_xa_install) and that the standalone DLL is no longer shipped.mssql-jdbc_authDLL.EXEC sp_sqljdbc_xa_installon SQL Server 2017 CU16+.Not changed (intentionally)
SQLServerXAResource.javaand thexp_sqljdbc_xa_*calls — the XA feature remains fully functional against SQL Server 2017 CU16+.R_failedToInitializeXAresource string and its localized translations.Testing
No runtime code changed — only docs, one comment, and test diagnostic strings. XA tests continue to run against SQL Server 2017 CU16+ using the built-in stored procedures.
Related
Companion PR in the internal build repo removes the DLL source, build, and packaging.