Eu tenho um banco de dados no SQL Server 2008, que quero descartar. Atualmente está no modo de usuário único e está atualmente em uso.
select * from sys.sysprocesses
retorna
Msg 924, Level 14, State 1, Line 1
Database 'G_MAIN_DE' is already open and can only have one user at a time.
e não sei identificar a sessão que tenho que matar.
Uma tentativa de configurá-lo offline
ALTER DATABASE G_MAIN_DE SET OFFLINE WITH ROLLBACK IMMEDIATE
rendimentos
Msg 5064, Level 16, State 1, Line 1
Changes to the state or options of database 'G_MAIN_DE' 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.
Para identificar a sessão atualmente usando o banco de dados, você pode tentar
Este procedimento armazenado interno mostra todas as conexões com um banco de dados
E esta consulta mata uma conexão com o banco de dados, por exemplo, conexão SPID #53
A coisa mais fácil é usar o SSMS Activity Monitor (clique com o botão direito do mouse no servidor/Monitor de Atividade/Processos). Classificar por banco de dados. Mate qualquer processo que esteja segurando o banco de dados. Você também pode querer emitir o comando kill logo antes de definir o banco de dados para usuário único e fazer o descarte.
se o processo acima não estiver funcionando, vá para services e mate os sqlservices no taskmanger. Em seguida, será capaz de definir para multiusuário.