Quando usar o SQL Server Native Client

Aplica-se a: SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)

Importante

SQL Server Native Client (SNAC) não é fornecido com:

  • SQL Server 2022 (16.x) e versões posteriores
  • SQL Server Management Studio 19 e versões posteriores

O SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Microsoft OLE DB Provider for SQL Server (SQLOLEDB) herdado não são recomendados para o desenvolvimento de novos aplicativos.

Para novos projetos, use um dos seguintes drivers:

Para o SQLNCLI fornecido como componente do Mecanismo de Base de Dados do SQL Server (versões de 2012 a 2019), consulte esta exceção ao Ciclo de Vida de Suporte .

O SQL Server Native Client é uma tecnologia que pode usar para aceder a dados numa base de dados SQL Server. Para uma discussão sobre as diferentes tecnologias de acesso a dados, consulte Roteiro de tecnologias de acesso a dados

Ao decidir se deve usar o SQL Server Native Client como tecnologia de acesso a dados da sua aplicação, deve considerar vários fatores.

Para novos aplicativos, se você estiver usando uma linguagem de programação gerenciada, como Microsoft Visual C# ou Visual Basic, e precisar acessar os novos recursos no SQL Server, deverá usar o Provedor de Dados do .NET Framework para SQL Server, que faz parte do .NET Framework.

Se está a desenvolver uma aplicação baseada em COM e precisa de aceder às novas funcionalidades introduzidas no SQL Server, deve usar o SQL Server Native Client. Se você não precisar acessar os novos recursos do SQL Server, poderá continuar a usar o WDAC (Windows Data Access Components).

Para aplicações OLE DB e ODBC existentes, a questão principal é se precisa de aceder às novas funcionalidades do SQL Server. Se você tiver um aplicativo maduro que não precisa dos novos recursos do SQL Server, poderá continuar a usar o WDAC. Mas se precisares de aceder a essas novas funcionalidades, como o tipo de dado xml, deves usar o SQL Server Native Client.

Tanto o SQL Server Native Client como o MDAC suportam isolamento de transações de leitura comprometida usando versionamento de linhas, mas apenas o SQL Server Native Client suporta isolamento de transações snapshot. (Em termos de programação, ler isolamento de transação confirmada com controle de versão de linha é o mesmo que Read-Committed transação.)

Para informações sobre as diferenças entre o SQL Server Native Client e o MDAC, consulte Updating an Application to SQL Server Native Client from MDAC.