相关文章推荐
打篮球的冰棍  ·  机器学习 课件 ppt ...·  1 年前    · 
豪爽的饭盒  ·  我的Neo4j探索之旅 - ...·  1 年前    · 
飘逸的大白菜  ·  VBA ...·  1 年前    · 

From the below document it looks like SQL Native Client 11.0 does not support connection to SQL Server 2016 and above.

https://learn.microsoft.com/en-us/sql/relational-databases/native-client/applications/support-policies-for-sql-server-native-client?view=sql-server-ver15

“SQL Server Native Client 11.0 supports connections to, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 (11.x), SQL Server 2014 (12.x), and Azure SQL Databases";

Connection to SQL Server 2019 using Native Client 11.0 works in some environments and fails in another.
Could you please clarify whether Native Client 11.0 supports connection to SQL Server 2019.

As the Microsoft documentation states, the SQL Server Native Client version 11.0 only supports up to SQL Server 2014, which means it does not support SQL Server 2019.

The SQL Server Native Client (SQLNCLI) remains deprecated and it is not recommended to use it for new development work.
Instead, use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features.

You'll also find more SQL experts in the dedicated forum over here:
https://social.technet.microsoft.com/Forums/en-US/home?category=sqlserver

Best regards,

Hi Leon,

Thank you for the details. Since I see the connection to SQL Server 2019 happens with Native Client 11.0, I want to understand whether this is expected or unexpected behavior.

I don't see Microsoft documents mentioning explicitly that the connection is not supported. Let me also check in another forum as well.

Thanks,
Ashwin

The irony here is that Microsoft has been trying to deprecate SQLNCLI11 for years -- and yet even as late as SQL 2019, Replication setup still creates linked servers using SQLCNLI11 under the hood! Not only that, since the driver doesn't support multi-subnet aware, our AlwaysOn automatic publisher redirect fails whenever we failover our Publisher to a replica in a different subnet than our distribution server! Go figure

From their documentation on sp_addlinkedserver (the default client is SQLNCLI )

https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addlinkedserver-transact-sql?view=sql-server-ver15

[ @provider = ] 'provider_name'
Is the unique programmatic identifier (PROGID) of the OLE DB provider that corresponds to this data source. provider_name must be unique for the specified OLE DB provider installed on the current computer. provider_name is nvarchar(128), with a default of NULL; however, if provider_name is omitted, SQLNCLI is used.

Using SQLNCLI will redirect SQL Server to the latest version of SQL Server Native Client OLE DB Provider. The OLE DB provider is expected to be registered with the specified PROGID in the registry.

Important

The previous Microsoft OLE DB Provider for SQL Server (SQLOLEDB) and SQL Server Native Client OLE DB provider (SQLNCLI) remain deprecated and it is not recommended to use either for new development work. Instead, use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features.