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]
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?
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.
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.
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
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:
Execute a consulta abaixo. Deve dar-lhe o erro "Single User". select * from sys.SysProcesses
Passe para o painel "Resultados". Identifique o LAST spid na lista.
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.
Tags sql-server-2005