SQL Server Network Interface

Faaaaala Galera,

O SQL Server Network Interface ou SNI é o protocolo de rede que estabelece a conexão entre um servidor SQL Server e seus clients.

Curiosidade:
“Hoje a Microsoft tem os direitos sobre este protocolo, porem foi desenvolvido pela Sybase em meados do SQL 7.0”.
Fonte: Livro Professional SQL Server 2012 Internals and Troubleshooting.

O SNI tem como base um conjunto muito grande de APIs que são utilizadas pela Engine do SQL Server e também pelo SQL Server Native Client (SNAC). A versão atual dessa API substitui as bibliotecas de comunicação do SQL Server 2000 e também aos Microsoft Data Access Componets (MDAC) do Windows.

Incluindo o SNI no ciclo de uma query, ele é o cara que recebe e envia o trafego entre o SQL e o servidor de aplicação, responsável por enviar os pacotes TDS (Tabular Data Stream Endpoints) encapsulados dentro de uma comunicação padrão, como por exemplo o TCP/IP.

SNI precisa de um protocolo de rede auxiliar para estabelecer a comunicação. O SQL Server suporta os seguintes protocolos:

TCP/IP: Este sem duvida é o mais famoso e mais utilizado no SQL Server. O TCP utiliza um IP e porta (por default 1433) para estabelecer a conexão entre SQL e Client.

Shared Memory: É considerado rápido e simples, pois não necessita de configurações avançadas. Shared Memory só pode ser usado localmente e por uma unica instancia do SQL Server, ou seja, quando sua aplicação está alocado no mesmo servidor de Banco. Por existir está limitação, esse protocolo não é muito utilizado nos ambientes corporativos.

Named Pipes: Ou Pipes nomeados é um protocolo criado para atender redes locais. O seu funcionamento utiliza uma parte da memoria para compartilhar informações entre os processos, desta forma criando um efeito de que o Output de um é o input do outro. Por default Named Pipes utiliza a porta 445.

VIA: Ou Virtual Interface Adapter é considerado um protocolo com boa performance, elevando o grau de comunicação entre as duas pontas. Este protocolo exige hardware especial para conexão dedicada.

Segundo o Technet, este protocolo será removido pela Microsoft em versões futuras.

 

Independentemente da escolha do protocolo de rede que será utilizado, uma vez que a conexão foi estabelecida, o SNI cria os pacotes TDS encapsulado, que no fundo é o comando e o resultado da query enviada pelo servidor de aplicação.

 

Grande abraço … []s

 

Anúncios

Um comentário sobre “SQL Server Network Interface

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s