Connecting to an Azure SQL Database Using SQL Server Native Client

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)


The SQL Server Native Client (often abbreviated SNAC) has been removed from SQL Server 2022 (16.x) and SQL Server Management Studio 19 (SSMS). The SQL Server Native Client (SQLNCLI or SQLNCLI11) and the legacy Microsoft OLE DB Provider for SQL Server (SQLOLEDB) are not recommended for new application development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server or the latest Microsoft ODBC Driver for SQL Server going forward. For SQLNCLI that ships as a component of SQL Server Database Engine (versions 2012 through 2019), see this Support Lifecycle exception.

For a sample that shows how to connect to a Azure SQL Database using SQL Server Native Client, see Development: How-to Topics (Azure SQL Database).

Known Issues When Connecting to a SQL Database

The following are known issues when connecting to a SQL Database using SQL Server Native Client:

  • A connection made with SQLBrowseConnect may be rejected if SQLBrowseConnect is used in stages. For example, if the driver name is sent in the first call, server and credentials (user and password) sent in the second call, establishing the connection, and a database name and a language in the third call. The third call will cause SQL Server Native Client to issue a USE statement to change databases. However, the USE statement is not supported in SQL Database, generating the following error:

    [Microsoft][SQL Server Native Client 11.0][SQL Server]USE statement is not supported to switch between databases. Use a new connection to connect to a different Database.  

See Also

Building Applications with SQL Server Native Client