SQL Server inicia 17832 com vários pedidos de ligação TCP\IP

Traduções de Artigos Traduções de Artigos
Artigo: 154628 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

Se o SQL Server for seleccionado com vários e TCP/IP em simultâneo pedidos de ligação, tal como o caso dos servidores de World Wide Web, os pedidos são rejeitados rapidamente por responder com um pacote de reposição de TCP/IP.

Este sintoma é difícil de detectar. Se a aplicação cliente inclui processamento de código de erro, o código de erro nativo é 10061 (WSAECONNREFUSED) para o Open() função. No servidor, aparece o erro 17832 - "Não é possível ler o pacote de início de sessão" no registo de erro de SQL.

Se analisar este problema com um analisador de protocolo, pode ver algumas da ligação pedir pacotes tem sido respondidas com o reposição de TCP bit definido, que indica a estação de envio que foi recebida a moldura, mas o servidor não tem os recursos para processar o pedido de ligação.

Mais Informação

Uma aplicação Winsock aceita ligações numa porta chamando uma função Listen(), que tem um parâmetro backlog especificando o comprimento máximo da fila de pendentes ligação do. A especificação de Winsock define o máximo backlog Listen() em cinco e quando exceder cinco, TCP/IP emite uma reposição.

Backlog para o SQL Server pode ser configurado para processar um grande número de ligações pendentes modificando o registo do Windows NT. Em alguns casos, o problema de reposição de ligação foi resolvido devido à modificação.

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756Como efectuar uma cópia de segurança e restaurar o registo no Windows
  1. Inicie o Editor de registo (Regedt32.exe) e localize a seguinte subchave:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
    notas
    • A subchave de registo correspondente na subárvore HKEY_LOCAL_MACHINE para SQL 4. 21a é:
      \Software\Microsoft\SQLServer\Server
    • Se o SQL Server 6.5 Enterprise Edition com o SQL Server Virtual num ambiente em cluster, terá de efectuar a alteração à chave do servidor virtual, em vez de padrão:
      \Software\Microsoft\MSSQLServer\MSSQLServer
      Esta chave de servidor virtual é:
      \Software\Microsoft\MSSQLServer$VirtualServerName
      \MSSQLServer$VirtualServerName

      Nome do valor: WinsockListenBacklog
      Tipo de dados: REG_DWORD
      Dados: 190
    • Nova localização de registo do SQL Server 2000:

      Para uma instância predefinida:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib
      Para uma instância nomeada:
      \MSSQLServer\SuperSocketNetLib HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\ Instance Name
  2. Seleccione a subchave MSSQLServer para SQL Server 6.5 e SQL Server 7.0 e seleccione o SuperSocketNetLib para SQL Server 2000. No menu Editar , clique em Adicionar valor .
  3. Introduza o seguinte:
    Nome do valor: WinsockListenBacklog
    Tipo de dados: REG_DWORD
    Dados: Range is 1 to 0xFFFFFFFF
    Nota O valor de dados afecta recursos de sistema global se estiver definido para um valor elevado. Windows NT 3.51 tem um backlog total máximo de 100 e Windows NT 4.0 tem um backlog total máximo de 200 para todas as aplicações. O método sugerido de teste com este valor é definir o valor em incrementos de cinco e observar os resultados até a ligação reposta pára.
  4. Clique em OK e saia do Editor de registo.
  5. Reinicie o SQL Server.
Para mais informações sobre a função Listen() , consulte a referência para programadores de Win32 SDK.

Para obter mais informações sobre o parâmetro backlog e Windows NT, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
113576Aplicações WinSocket rejeitar pedidos de ligação com pacotes de reinício
127144Limite de parâmetro de Windows NT WinSock escuta (backlog)

Propriedades

Artigo: 154628 - Última revisão: 24 de setembro de 2008 - Revisão: 5.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Workgroup Edition
Palavras-chave: 
kbmt kbnetwork KB154628 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 154628

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com