none
Como desconectar usuários de um de um determinado banco de dados. RRS feed

  • Pergunta

  • Olá gostaria de saber se há alguma instrução para desconectar todos os usuários de determinado banco de dados sem derrubar os demais usuários de outros bancos de dados do servidor SQL SERVER?
    • Movido Gustavo Maia Aguiar sexta-feira, 10 de setembro de 2010 18:18 (De:SQL Server - Desenvolvimento Geral)
    quarta-feira, 18 de julho de 2007 12:39

Respostas

  •  

     

     vc. pode usar esse:

     

        alter database nome_banco set single_user with rollback immediate -- coloca em single user e derruma todo munto

     


          alter database nome_banco set multi_user with rollback immediate -- volta para multi user.

     

     

    Abs;

    quarta-feira, 18 de julho de 2007 12:58
  • Rodrigo,

     

    Você deseja matar uma transação aberta por um determinada usuário conectado?

     

    Se for isso, utilize a função Kill, veja o exemplo:

     

    Kill 10 --> será encerrada o transação com o número de ID 10.

    quarta-feira, 18 de julho de 2007 13:02
    Moderador
  • Esse é melhor pois já filtra o banco de dados e o número do processo, isto é, não deixa dúvidas na hora da execução, é só executar e e saber o processo e logo após executar o kill.

    Fábio DBA - Analista em Banco de Dados SQL / DBA

    segunda-feira, 10 de junho de 2019 14:26

Todas as Respostas

  •  

     

     vc. pode usar esse:

     

        alter database nome_banco set single_user with rollback immediate -- coloca em single user e derruma todo munto

     


          alter database nome_banco set multi_user with rollback immediate -- volta para multi user.

     

     

    Abs;

    quarta-feira, 18 de julho de 2007 12:58
  • Rodrigo,

     

    Você deseja matar uma transação aberta por um determinada usuário conectado?

     

    Se for isso, utilize a função Kill, veja o exemplo:

     

    Kill 10 --> será encerrada o transação com o número de ID 10.

    quarta-feira, 18 de julho de 2007 13:02
    Moderador
  • descobri mais completo para quem mais precisar...

     

    use a seguinte instrução para descobrir os spid dos processos abertos no sql server para um banco específico.

     

    select spid from master..sysprocesses where dbid=db_id('nome do banco')

     

    depois feche-os com

     

    KILL 51

    • Sugerido como Resposta Luis_Fernando segunda-feira, 28 de junho de 2010 22:29
    sexta-feira, 20 de julho de 2007 18:40
  • descobri mais completo para quem mais precisar...

     

    use a seguinte instrução para descobrir os spid dos processos abertos no sql server para um banco específico.

     

    select spid from master..sysprocesses where dbid=db_id('nome do banco')

     

    depois feche-os com

     

    KILL 51

    Para listar os processos é melhor usar a procedure

    sp_who

    Que lista todos usuários que estão logados, seus spid e suas respectivas ações (update, select, insert) com isso vc vai saber quem vc está fechando com o 

    KILL <SPID>

    sexta-feira, 10 de setembro de 2010 13:02
  • Esse é melhor pois já filtra o banco de dados e o número do processo, isto é, não deixa dúvidas na hora da execução, é só executar e e saber o processo e logo após executar o kill.

    Fábio DBA - Analista em Banco de Dados SQL / DBA

    segunda-feira, 10 de junho de 2019 14:26