We couldn’t sign you in
Select the account you want to use.

Resumo

Quando um cliente do Microsoft SQL Server se desligar de um servidor SQL Server, o processo de ligação deve ser esclarecido no lado do servidor. Se os processos de ligação não forem esclarecidos por qualquer motivo, tornam-se processos "órfãos" ou "fantasmas". Estes processos podem utilizar recursos valiosos, tais como fechaduras e ligações ao utilizador. Os processos órfãos são normalmente causados pelo encerramento indevido de aplicações de clientes e problemas relacionados com a rede, e os remédios geralmente requerem problemas de resolução de aplicações de clientes e configurações de rede de afinação fina.

Mais Informações

Quando resolver este problema, lembre-se do seguinte:

  • O SQL Server como uma aplicação não sonda e não deve sondar proactivamente a ligação do cliente para determinar o seu estado atual. As comunicações inter-processuais de nível inferior (IPCs), tais como tubos nomeados, tomadas IPX/SPX ou TCP/IP, são responsáveis pela gestão das ligações ao cliente.

  • Um IPC normalmente tem o seu próprio mecanismo para gerir as ligações do cliente. Quando as ligações do cliente se tornam não reativas durante um certo período de tempo, normalmente o computador Do Windows NT Server deteta-o enviando as sondas "keep alive" ou limpa a ligação depois de ficar inativa durante um período de tempo configurado. No entanto, os pacotes "keep-alive" não são enviados por defeito por uma aplicação. A aplicação necessita de ativar esta funcionalidade nas suas ligações.

  • Em determinadas situações, como falha de proteção geral do cliente, o cliente pode ainda responder a sondas de servidor, mesmo que a aplicação já esteja morta. Neste caso, o computador Windows NT Server pode manter esta ligação ao cliente indefinidamente, desde que o cliente não seja desligado.

  • Se um computador Do Windows NT Server não fechar uma ligação morta por qualquer motivo, o SQL Server assume, por direito, que esta ligação ainda está ativa e, portanto, não a esclarece.

  • Se o computador Windows NT Server tiver fechado com sucesso a ligação, mas o processo do cliente ainda existir no SQL Server, conforme indicado pelo sp_who, poderá indicar um problema na gestão de ligação do SQL Server. Neste caso, deverá trabalhar com o seu fornecedor de suporte primário para resolver este problema.

Se suspeitar que existem processos órfãos no seu SQL Server, os seguintes são os passos que pode tomar para resolver o problema:

  1. Identifique os processos órfãos usando sp_who, o que pode dizer quais aplicações foram associadas a estes processos através dos nomes dos anfitriões.

  2. Depois de identificar estes processos órfãos, pode optar por ignorá-los se não estiverem a segurar quaisquer fechaduras ou a utilizar muitas ligações, ou matá-los usando o comando SQL Server KILL.

  3. Consulte os utilizadores da aplicação para obter quaisquer procedimentos impróprios de encerramento de aplicações, como reiniciar em primeiro lugar as estações de trabalho quentes ou frias sem sair primeiro das aplicações. Verifique se existe algum histórico de a estação de trabalho se tornar instável, como uma falha geral de proteção, etc. Corrija esses procedimentos impróprios ou problemas de estabilidade se existirem.

  4. Verifique se a sessão do IPC ainda está ativa no computador windows NT Server onde o SQL Server está em execução. Dependendo dos IPCs que está a utilizar, os comandos são diferentes. Por exemplo, se estiver a utilizar tubos nomeados, o comando é "NET SESSION" ou "NET FILES"; se for uma ligação de tomadas TCP/IP, pode utilizar "NETSTAT" para exibir sessões de TCP ativas; no caso de IPX/SPX, poderá ter de utilizar o Monitor de Desempenho para monitorizar o "Connections Open" para "NWLink SPX".

  5. Se as sessões do IPC ainda estiverem ativas no computador Windows NT Server, é perfeitamente normal que o SQL Server mantenha esses processos de ligação. Quando o Windows NT limpar as sessões do IPC, o SQL Server será notificado e limpará os processos de ligação em conformidade. Poderá ajustar certos parâmetros da rede Windows NT para encurtar o período de tempo que o Windows NT tem de esperar antes de limpar as sessões de dead. Mais uma vez, dependendo dos IPCs que está a usar, os parâmetros envolvidos são muito diferentes.Para obter mais informações, clique no seguinte número de artigo como modificar estas definições de registo para comparar as mencionadas abaixo para ver o artigo como modificar estas definições de registo para corresponder às mencionadas abaixo na Base de Conhecimento da Microsoft:

    120642 Parâmetros de configuração TCP/IP e NetBT para Windows 2000 ou Windows NT

    99745 Sintonização dos parâmetros de registo NWLINK

    • Tubos nomeados: Os tubos nomeados são implementados na camada de Bloco de Mensagens do Servidor (SMB) em cima de outros protocolos de transporte, tais como TCP/IP, NetBEUI ou NWLink IPX/SPX. Uma camada fina chamada NetBIOS é tipicamente implementada entre o SMB e a camada de transporte. Portanto, uma forma conveniente de ajustar quanto tempo uma sessão de tubos sem resposta tem de esperar antes de ser fechada é através do ajuste dos parâmetros KeepAlive da camada NetBIOS relevante. Para o TCP/IP, a camada NetBIOS envolvida é NBT (NetBIOS sobre TCP), e o parâmetro em causa é SessionKeepAlive na seguinte chave de registo: KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters Se o protocolo utilizado for NWlink IPX/SPX, os parâmetros envolvidos são KeepAliveCount e KeepAliveTimeout na seguinte chave de registo: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNBLink\Parameters Por favor, note que algumas implementações de Tubos Nomeados sobre NWLink podem contornar a camada NetBIOS (DirectHosting), o que significa que os parâmetros netbios acima de NWNBlink não se aplicam.

    • Tomadas TCP/IP: O Windows NT Server enviará periodicamente "pacotes de manutenção viva para os clientes, e espera-se que os clientes respondam. Se, por alguma razão, o cliente não responder a esses pacotes, o Windows NT limpa a sessão de TCP depois de tentar um número configurado de vezes. Os parâmetros envolvidos são KeepAliveInterval, KeepAliveTime e TcpMaxDataRetransmissions na seguinte chave de registo: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    • IPX/SPX: Semelhante ao TCP/IP, o Windows NT Server envia periodicamente pacotes de "manter vivo" e os clientes respondem. O Windows NT limpa as ligações SPX se não receber nenhuma resposta depois de enviar um número configurado de pacotes "keep alive". Os parâmetros envolvidos são KeepAliveCount e KeepAliveTimeout na seguinte chave de registo: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWLnkSPX\Parametes

    Por favor, note que se os parâmetros "manter vivo" para os seus IPCs estiverem configurados para nunca ter tempo, o Windows NT manterá as sessões do IPC indefinidamente, mesmo que os clientes estejam completamente desligados. Neste caso, o SQL Server também manterá estes processos de clientes indefinidamente, o que é esperado. Para mais informações sobre os parâmetros, consulte a documentação do Windows NT ou o Windows NT Resource Kit. Se suspeitar que o seu computador Windows NT Server não limpa essas sessões de acordo com os parâmetros de configuração, pode contactar o seu fornecedor de suporte principal do Windows NT para obter ajuda.

  6. Se a sessão IPC já não existir no computador Windows NT Server, mas o SQL Server ainda mantém o processo do cliente como mostrado pela sp_who, pode utilizar o comando KILL para limpar o processo como solução temporária e contactar o seu fornecedor de suporte principal do SQL Server para obter mais assistência.

Para obter informações adicionais sobre este assunto no que diz respeito ao SQL Server 2000, consulte o tópico "Orphaned Sessions" em SQL Server Books Online.

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×