none
Fechar Conexão. RRS feed

  • Pergunta

  • Olá pessoal !!

     

    Estou com a seguinte dúvida..

    Há alguma configuração no sql server que feche as conexões abertas após algum período ???

    Há uma empresa que está tendo este problema .... o aplicativo que usam (windows forms)  em algum momento deve estar deixando de fechar a conexão com o BD...

    Obrigada !!


    MIchele
    • Movido Gustavo Maia Aguiar quarta-feira, 8 de setembro de 2010 17:55 (De:SQL Server - Desenvolvimento Geral)
    quarta-feira, 8 de setembro de 2010 14:27

Respostas

  • Michele,

    Tome cuidado com este comando! Entenda bem o que ele faz!

    Acredito que vc queira "matar" somente as conexoes ociosas.. e nao alterar o database para single_user.

    A melhor maneira é vc alterar o sistema para desconectar... mas caso não seja possivel voce pode desenvolver uma proc consultando as conexoes na sys.sysprocesses e calculando o last_batch e o status da conexao... ai faz um kill nas conexoes que vc queria matar.

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    • Marcado como Resposta Michele Teixeira sexta-feira, 26 de novembro de 2010 12:34
    terça-feira, 5 de outubro de 2010 20:35
    Moderador

Todas as Respostas

  • Michele, você pode no SQL Server 2005/2008 fazer assim:

    ALTER DATABASE AdventureWorks SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

    Se você deseja desconectar todas as conexões de usuários você deverá executar esta instrução para cada banco em particular.

    Qualquer dúvida estou a disposição

     

    Atenciosamente,

    Marcondes Alexandre
    Visite o meu site: http://marcondesalexandrebr.wordpress.com
    Me siga no Twitter: @marcondesalex

     

     

     

    terça-feira, 5 de outubro de 2010 19:57
  • Michele,

    Tome cuidado com este comando! Entenda bem o que ele faz!

    Acredito que vc queira "matar" somente as conexoes ociosas.. e nao alterar o database para single_user.

    A melhor maneira é vc alterar o sistema para desconectar... mas caso não seja possivel voce pode desenvolver uma proc consultando as conexoes na sys.sysprocesses e calculando o last_batch e o status da conexao... ai faz um kill nas conexoes que vc queria matar.

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    • Marcado como Resposta Michele Teixeira sexta-feira, 26 de novembro de 2010 12:34
    terça-feira, 5 de outubro de 2010 20:35
    Moderador
  • Michele,

    Concordo com as observações do Marcelo, a principio utilize a sys.sysprocesses para obter informações sobre suas conexões, como também as seguintes dmvs:

    sys.dm_exec_connections

    sys.dm_exec_sessions

    sys.dm_exec_requests

    O Activity Monitor também poderá ser uma ferramenta útil para esta análise.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário]
    terça-feira, 5 de outubro de 2010 23:28
    Moderador
  • Olá pessoal,

     

        Desculpe-me pela demora no retorno... Marcelo e Junior era isto mesmo que precisava...

       Agradeço a todos pela ajuda !!!

     

    Abraços

     


    Att _________________________________ Michele Teixeira
    sexta-feira, 26 de novembro de 2010 12:37