SQL2005 Preso no usuário de modo único

5

Hey atualmente tem um banco de dados preso em modo único depois de configurá-lo para o modo único para tentar tentar se off-line que eu gostaria de nunca fazer ....

Eu tentei

ALTER DATABASE DB SET MULTI_USER

mas obtenha

Msg 5064, Level 16, State 1, Line 1 Changes to the state or options of database 'DB' cannot be made at this time. The database is in single-user mode, and a user is currently connected to it. Msg 5069, Level 16, State 1, Line 1 ALTER DATABASE statement failed.

Quando clico com o botão direito do mouse em Banco de dados para ir, ou seja, propriedades que obtenho

Database "DB" is already open and can only have one user at a time.

Alguma idéia?

    
por StevieB 29.06.2011 / 11:46

5 respostas

5

SELECT * from sys.databases - > obtenha o database_id do banco de dados.

SELECT * FROM MASTER..SysProcesses WHERE dbid = [thedbid] (insira seu db id)

Procure o spid para matar

KILL [theid]
    
por 29.06.2011 / 12:20
4

Use SP_Who para encontrar o ID da sessão da conexão ativa com o banco de dados.

Use KILL <session id> para terminar a conexão.

Em seguida, execute o comando Alter Database que você tentou.

    
por 29.06.2011 / 11:49
1

No pior dos casos, se nenhum outro método funcionar, você deve poder reinicializar o servidor para eliminar qualquer conexão com o banco de dados e, em seguida, colocá-lo no modo multiusuário após a reinicialização.

    
por 29.06.2011 / 12:45
1

Na mesma janela de consulta que você tentou o ALTER DATABASE DB SET MULTI_USER , tente ... ALTER DATABASE DB SET MULTI_USER WITH ROLLBACK IMMEDIATE

    
por 29.06.2011 / 19:56
1

Eu tenho a mesma coisa ao tentar ir do modo de usuário único para o modo off-line. Um problema obscuro com uma solução (possível) obscura:

  1. Execute a consulta abaixo. Deve dar-lhe o erro "Single User". select * from sys.SysProcesses

  2. Passe para o painel "Resultados". Identifique o LAST spid na lista.

  3. Digamos que o último SPID no painel de resultados a ser exibido seja 70. Mate o próximo spid. MATAR 71

Isso liberou a conexão para mim. Eu acho que a consulta sys.sysprocesses retorna resultados até atingir um banco de dados que não pode se conectar.

    
por 07.02.2012 / 16:07