Resumo

A opção de configuraçãodo tamanho do pacote de rede no SQL Server é usada para definir o tamanho do pacote (em bytes) a ser usado ao se comunicar com SQL servidor. O tamanho pode ser definido no lado do servidor, bem como em algumas das bibliotecas do lado do cliente. O tamanho padrão do pacote definido por Microsoft SQL Server é 4.096 bytes. Este artigo aborda alguns dos problemas que você precisa estar ciente ao fazer alterações nessa configuração.

Conforme mencionado na observação a seguir no tópico Livros Online sobre essa opção, recomendamos que você não altere esse valor, a menos que tenha certeza de que ele melhorará o desempenho.

Observação:

Não altere o tamanho do pacote, a menos que você tenha certeza de que ele melhorará o desempenho. Para a maioria dos aplicativos, o tamanho padrão do pacote é o melhor.

O tamanho do pacote de rede no lado do servidor pode ser configurado usando a opção de configuração do tamanho do pacote de rede.

Para obter mais informações sobre como controlar essa configuração de uma biblioteca de rede do cliente, consulte a tabela a seguir:

Biblioteca de clientes

Opção

Padrão

SQL cliente

SSPROP_INIT_PACKETSIZE

0 (usar o lado do servidor)

System.data.Sqlclient

PacketSize                         

8000

ODBC

SQL_ATTR_PACKET_SIZE

Usar o lado do servidor

SQLOLEDB

SSPROP_INIT_PACKETSIZE         

4096                      

JDBC

setPacketSize(int packetSize)

8000

Observação: a documentação atual do Sqlclient declara incorretamente o tamanho padrão do pacote para conexões Sqlclient como 8192. Isso será corrigido em uma atualização futura do Books Online.

O tamanho do pacote de rede de uma conexão de cliente pode ser determinado monitorando o evento Logon de Auditoria ou o evento ExistingConnection no SQL Profiler. A coluna Dados Inteiros contém o tamanho do pacote de rede.

Informações adicionais

Os vários problemas que você precisa estar ciente ao alterar o tamanho do pacote de rede estão documentados abaixo:

  • Limitação de SSL e TLS: SSL (Secure Socket Layer) e sua substituição, Transport Layer Security(TLS), limitam fragmentos de dados a 16k de tamanho. Isso é documentado na RFC 2246pública (seção 6.2.2) e a implementação atual da camada de interface de rede (SNI) do SQL segue essa especificação. Não há suporte para o uso de um tamanho de pacote de rede maior do que 16K nesses ambientes. Essa limitação afeta os seguintes cenários:

    • Pacotes SSIS e Coletor de Dados: Para obter mais informações, consulte o seguinte artigo KB:

                      Observação Se MARS estiver habilitado, o provedor SMUX adicionará um header de 16 bytes ao pacote antes da criptografia SSL, reduzindo o tamanho máximo do pacote de rede para 16368 bytes.

      2006769: A mensagem de erro de falha do link de comunicação é relatada para pacotes SSIS em servidores SQL configurados para usar criptografia e um grande tamanho de pacote de rede

  • SQL Server ambientes 2000 e 2005: Consulte o seguinte artigo KB para obter mais informações sobre um problema conhecido nesses ambientes

    • 903002Uma mensagem de erro "Falha ao reservar memória contígua" pode ser registrada no log de erro SQL Server quando os usuários se conectam a uma instância do SQL Server usando um tamanho de pacote de rede maior que 8.060 bytes.

Precisa de mais ajuda?

Expanda suas habilidades

Explore o treinamento >

Obtenha novos recursos primeiro

Ingressar no Microsoft Insider >

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×