We have reproduced a significant SQL Authentication performance regression after migrating an on-premises Microsoft Access application from SQL Server 2022 to SQL Server 2025.
Environment
- SQL Server 2025 Express CU9, 17.0.5005.3
- Windows Server 2022
- Compatibility level 170
- Microsoft Access frontend with ODBC linked tables
- Microsoft ODBC Driver 18 for SQL Server
- SQL Authentication
The Access application was responsive on SQL Server 2022. After moving to SQL Server 2025, many operations showed a noticeable “warm-up” delay.
We traced the application with Extended Events and ODBC tracing. Microsoft Access/ACE creates multiple short-lived physical SQL connections for some linked-table operations. These connections were not effectively reused from the ODBC pool (is_cached = false, different ClientConnectionID values).
We then measured SQL login performance independently from Access.
With PasswordHashAlgorithm = 3 / SQL Server 2025 PBKDF2:
- Average new non-pooled connection: ~202 ms
- Minimum: ~192 ms
- Maximum: ~248 ms
ODBC connection pooling itself works correctly:
- First ODBC connection: ~249 ms
- Subsequent pooled connections: ~0.03–0.10 ms
We then enabled: DBCC TRACEON (4671, -1) and reset the SQL login password.
On SQL Server 2025 CU9 the login then used: PasswordHashAlgorithm = 2
Connection performance changed to:
- First connection: ~39 ms
- Subsequent non-pooled connections: ~1.3–2.0 ms
- Average over 20 connections: ~3.4 ms
The Microsoft Access application immediately returned to approximately the same responsiveness as it had on SQL Server 2022.
When TF 4671 was disabled again, the login returned to algorithm 3 and the performance regression returned. Re-enabling TF 4671 and resetting the password restored algorithm 2 and the former performance.
Microsoft documents PBKDF2 login overhead as a known SQL Server 2025 issue, especially without effective connection pooling. However, the official trace flag documentation describes TF 4671 only for SQL Server 2022, where it enables version 3 password verifiers.
My questions are:
- Is the observed SQL Server 2025 behavior of TF 4671 intentional?
- Is -T4671 supported as a production workaround to disable PBKDF2 on SQL Server 2025?
- If not, is there any supported way to use version 2 SQL Authentication password verifiers on SQL Server 2025?
- Is Microsoft planning a supported mitigation for applications such as Microsoft Access/ACE that create multiple short-lived SQL-authenticated connections?
- Is this TF 4671 behavior expected to remain stable across future SQL Server 2025 cumulative updates?