Quando usar o SQL Native Client

O SQL Native Client só deve ser usado em certos contextos. Esta é a definição de quando usá-lo e quando não.

Aplicações .NET

Não use o SQL Native Client para aplicações .NET. Em vez disso, use o .NET Framework Data Provider para SQL Server (SqlConnection).

Aplicações COM e todas as outras que não são .Net

Use o SQL Native Client se você está acessando SQL Server 2005 ou posterior e precisa das novas funcionalidades do SQL Server 2005 ou posterior, como MARS, criptografia, tipo de dados XML etc. No entanto, note que o SQL Native Client foi removido do SQL Server 2022 (16.x) e do SQL Server Management Studio 19 (SSMS), e não é recomendado para o desenvolvimento de novas aplicações. Deve-se utilizar o novo Microsoft OLE DB Driver para SQL Server ou a versão mais recente do Microsoft ODBC Driver para SQL Server.

Continue usando seu provedor atual (OLE DB / ODBC através do pacote MDAC) se você não está se conectando ao SQL Server 2005 ou posterior ou se você está se conectando ao SQL Server 2005 ou posterior mas não está usando nenhuma das novas funcionalidades do SQL Server 2005 ou posterior.

Resumo

OLE DB e ODBC não suportam algumas das novas funcionalidades do SQL Server 2005 e posterior. Os provedores gerenciados .Net suportam. O SQL Native Client pode ser visto como uma solução para ter acesso às novas funcionalidades do SQL Server a partir de código nativo (não .Net). Não há outros benefícios em usá-lo. Para aplicações que requerem características introduzidas no SQL Server 2005, como MARS, tipos de dados definidos pelo usuário (UDT), notificações de consulta, isolamento de instantâneo e suporte a tipo de dados XML, deve-se utilizar o SQL Native Client. Para informações detalhadas sobre as diferenças entre o SQL Native Client e MDAC, consulte o artigo de atualização de uma aplicação para SQL Native Client a partir do MDAC.

Para mais detalhes sobre as diferenças entre MDAC e SQL Native Client, leia este artigo da MSDN. Se você está desenvolvendo uma aplicação baseada em COM e precisa acessar as novas funcionalidades do SQL Server, você deve usar o SQL Native Client. Se você não precisa de acesso às novas funcionalidades do SQL Server, você pode continuar a usar os Componentes de Acesso a Dados do Windows (WDAC).