I see many questions, and have been on the receiving end of many myself, about out of support items and removing them from their SQL Server servers. One of these items is the SQL Server Native Client, aka SNAC, aka SQLNCLI, and I’m sure many others. I remember investigating the connections a very long time ago when availability groups first came around (2012) and haven’t looked at it since that time. A question on the database administrators stack exchange asked the question about if SNAC could be removed on a SQL Server 2019 instance used in high availability and my gut reaction was, “nope.” Gut reactions are great but not always correct, so I did a little testing.
In SQL Server 2012 through SQL Server 2019 the SNAC client is indeed used as the connection library in the resource health dll so it will be impossible to remove if you wanted to keep a working instance running an availability group or FCI. The information is in the answer linked above, but what about SQL Server 2022 which released later that year. Reading the What’s New page for 2022 and it does specify that SNAC was removed. I looked at a vanilla SQL 2022 install and did not see SNAC installed, so I had to assume that there was indeed a change. The question is, since SNAC is removed, what is used in its place?
I setup an availability group, all the vanilla settings, let’s see what the trace says:
ConnectionString: DRIVER=ODBC Driver 17 for SQL Server;SERVER=<ServerName>;Trusted_Connection=yes;DATABASE=master;
So now don’t uninstall ODBC Driver 17 or, in technical terms, your stuff won’t work anymore. So don’t be dumb.
1 thought on “Want To Remove SNAC 2012? Upgrade To SQL 2022”
Comments are closed.