It’s nearly Christmas; a time to sit back, relax, and reflect. – Some reflection is also required regarding an issue in Microsoft’s 08 November Windows update (KB5019980 for Windows 11, KB5019959 for Windows 10, KB5020023 for Windows 8.1 and Windows Server 2012 R2). - A detailed list of the affected Windows platforms can be found in this Windows Health Notification.
On 05 December Microsoft reported that this update may cause ODBC connections “utilizing the Microsoft ODBC SQL Server Driver (sqlsrv32.dll)” to fail with an error messages like "[Microsoft][ODBC SQL Server Driver] Protocol error in TDS Stream" or "[Microsoft][ODBC SQL Server Driver]Unknown token received from SQL Server".
On 06 December this problem was news on many tech websites. Unfortunately, the journalists writing on the issue worked with varying degrees of accuracy and insight. Some basically reproduced the brief original Microsoft report without adding much clarity to it, while others went overboard blowing it up to “Windows ODBC in general is broken by the update”.
As I said, lean back and relax. So far, I haven’t seen any report on this issue in the wild, neither in any public online discussion nor as a direct report by customers and colleagues.
However, and this is the reason for this writing, since those media reports on the issue were published, I’ve seen quite a few messages, private and public, along the lines of “OMG, Microsoft broke ODBC and we are affected by this issue. When will they fix this? How can I roll back the faulty patch?” When in fact the authors were not at all affected by this issue but had some completely unrelated ODBC errors of their own making.
To prevent these false-positive problem reports, I want to clarify a few things.
The Windows ODBC interface in general is not affected.
The newer ODBC drivers for Microsoft SQL Server, "SQL Server Native Client nn.n" and "ODBC Driver nn for SQL Server" are not affected.
No other ODBC driver for any other DBMS is affected.
The problem only potentially affects the old "SQL Server" ODBC driver for Microsoft SQL Server! Still, I tried ODBC connections from Microsoft Access 2010 and 2016/365 to SQL Server on several computers with Windows 8.1 and Windows 10 with the Nov8-Patch installed and did not notice any issue at all.
So, if you see some ODBC related error messages, don’t jump to the premature conclusion that you are affected by this issue. – Most likely you are not!
If you use the old "SQL Server" ODBC driver and you are really affected by this issue, the easiest and quickest solution is to replace that ODBC driver with one of the newer alternatives mentioned above.