Entrar com a conta da Microsoft
Entre ou crie uma conta.
Olá,
Selecione uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Resumo

Quando um cliente do Microsoft SQL Server se desconecta de um servidor SQL Server, o processo de conexão deve ser resolvido no lado do servidor. Se os processos de conexão não forem eliminados por algum motivo, eles se tornarão os processos "órfãos" ou "fantasmas". Esses processos podem usar recursos valiosos, como bloqueios e conexões de usuários. Os processos órfãos geralmente são causados por fechamento impróprio de aplicativos cliente e problemas relacionados à rede, e as soluções geralmente exigem a solução de problemas de aplicativos cliente e ajuste fino das configurações de rede.

Informações adicionais

Ao solucionar este problema, lembre-se do seguinte:

  • O SQL Server como um aplicativo não deve e não testará proativamente a conexão do cliente para determinar seu status atual. As comunicações entre processos (IPCs) de nível inferior, como pipes nomeados, IPX/SPX ou soquetes TCP/IP, são responsáveis por gerenciar as conexões de cliente.

  • Geralmente, um IPC tem seu próprio mecanismo para gerenciar as conexões do cliente. Quando as conexões de cliente não respondem por um determinado período de tempo, normalmente o computador com Windows NT Server detectará isso enviando os testes "Keep Alive" ou limpará a conexão após ficar ocioso por um período de tempo configurado. No entanto, os pacotes "Keep-Alive" não são enviados por padrão por um aplicativo. O aplicativo precisa habilitar esse recurso em suas conexões.

  • Em determinadas situações, como a falha de proteção geral do cliente, o cliente ainda pode responder a investigações do servidor, mesmo se o aplicativo já estiver inativo. Nesse caso, o computador Windows NT Server pode manter essa conexão do cliente indefinidamente, desde que o cliente não seja desligado.

  • Se um computador com o Windows NT Server não fechar uma conexão inativa por algum motivo, o SQL Server se considera legalmente que essa conexão ainda está ativa e, portanto, não a limpa.

  • Se o computador Windows NT Server fechou a conexão com êxito, mas o processo do cliente ainda existe no SQL Server, conforme indicado por sp_who, isso pode indicar um problema com o gerenciamento de conexão do SQL Server. Nesse caso, você deve trabalhar com seu provedor de suporte principal para solucionar esse problema.

Se você suspeitar que os processos órfãos existem no SQL Server, siga as etapas que você pode seguir para solucionar o problema:

  1. Identifique os processos órfãos usando sp_who, o que pode lhe mostrar quais aplicativos foram associados a esses processos por meio dos nomes de host.

  2. Depois de identificar esses processos órfãos, você pode optar por ignorá-los se não estiverem mantendo qualquer bloqueio ou usando muitas conexões, ou Kill-los usando o comando do SQL Server KILL.

  3. Consulte os usuários do aplicativo para obter procedimentos inadequados de fechamento de aplicativos, como a reinicialização quente ou frio de estações de trabalho sem sair dos aplicativos primeiro. Verifique se há algum histórico da estação de trabalho instável, como uma falha geral de proteção e assim por diante. Corrija esses procedimentos incorretos ou problemas de estabilidade se houver.

  4. Verifique se a sessão de IPC ainda está ativa no computador com Windows NT Server onde o SQL Server está em execução. Dependendo da IPCs que você estiver usando, os comandos serão diferentes. Por exemplo, se você estiver usando pipes nomeados, o comando será "NET SESSION" ou "NET Files"; Se for uma conexão de soquetes TCP/IP, você poderá usar "netstat" para exibir sessões TCP ativas; no caso do IPX/SPX, talvez seja necessário usar o monitor de desempenho para monitorar o "conexões abertas" para "NWLink SPX".

  5. Se as sessões do IPC ainda estiverem ativas no computador com Windows NT Server, é perfeitamente normal que o SQL Server Mantenha esses processos de conexão. Quando o Windows NT limpa as sessões de IPC, o SQL Server será notificado e limpará adequadamente os processos de conexão. Você pode ajustar certos parâmetros de rede do Windows NT para reduzir o período de tempo que o Windows NT tem que esperar antes de limpar as sessões inativas. Novamente, dependendo da IPCs que você está usando, os parâmetros envolvidos são muito diferentes.Para obter mais informações, clique no número abaixo como modificar essas configurações do registro para corresponder às mencionadas abaixo para ver o artigo como modificar essas configurações do registro para corresponder às mencionadas abaixo na base de dados de conhecimento da Microsoft:

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

    99745 Ajustar os parâmetros do registro NWLINK

    • Pipes nomeados: pipes nomeados são implementados na camada SMB (Server Message Block) em cima de outros protocolos de transporte, como TCP/IP, NetBEUI ou NWLink IPX/SPX. Uma camada fina chamada NetBIOS geralmente é implementada entre o SMB e a camada de transporte. Portanto, uma maneira conveniente de ajustar quanto tempo uma sessão de pipes nomeados sem resposta tem que esperar antes de ser fechado é por meio do ajuste dos parâmetros KeepAlive da camada NetBIOS pertinente. Para TCP/IP, a camada NetBIOS envolvida é NBT (NetBIOS sobre TCP) e o parâmetro envolvido é SessionKeepAlive na seguinte chave do registro: KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters Se o protocolo usado for NWlink IPX/SPX, os parâmetros envolvidos serão KeepAliveCount e KeepAliveTimeout na seguinte chave do registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNBLink\Parameters Observe que algumas implementações de pipes nomeados pelo NWLink podem ignorar a camada NetBIOS (DirectHosting), o que significa que os parâmetros de NetBIOS acima do NWNBlink não se aplicam.

    • Soquetes TCP/IP: o Windows NT Server enviará periodicamente pacotes de Keep Alive para os clientes, e espera-se que os clientes respondam. Se, por qualquer motivo, o cliente não responder a esses pacotes, o Windows NT limpará a sessão TCP depois de tentar um número configurado de vezes. Os parâmetros envolvidos são KeepAliveInterval, KeepAlivetime e TcpMaxDataRetransmissions na seguinte chave do registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    • IPX/SPX: semelhante ao TCP/IP, o Windows NT Server envia periodicamente pacotes "Keep Alive" e os clientes respondem. O Windows NT limpará as conexões SPX se não receber nenhuma resposta após enviar um número configurado de pacotes "Keep Alive". Os parâmetros envolvidos são KeepAliveCount e KeepAliveTimeout na seguinte chave do registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWLnkSPX\Parametes

    Observe que, se os parâmetros "Keep Alive" do seu IPCs estiverem configurados para nunca expirar, o Windows NT manterá as sessões de IPC indefinidamente, mesmo se os clientes estiverem completamente desligados. Nesse caso, o SQL Server manterá esses processos do cliente indefinidamente também, o que é esperado. Para obter mais informações sobre os parâmetros, consulte a documentação do Windows NT ou o Windows NT Resource Kit. Se você suspeita que o seu computador Windows NT Server não limpe essas sessões de acordo com os parâmetros de configuração, você pode entrar em contato com o seu provedor de suporte principal do Windows NT para obter ajuda.

  6. Se a sessão de IPC não existir mais no computador com Windows NT Server, mas o SQL Server ainda mantiver o processo do cliente conforme mostrado por sp_who, você pode usar o comando KILL para limpar o processo como uma solução temporária e entrar em contato com o provedor de suporte do SQL Server principal para obter assistência adicional.

Para obter informações adicionais sobre esse assunto como se relaciona ao SQL Server 2000, consulte o tópico "sessões Órfãas" nos manuais online do SQL Server.

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!

×