ver usuario unico quitar linea iniciar está dónde desde descargar contraseña configurar configuración configuracion comandos administrador sql sql-server database sql-server-2008 database-deployment

linea - quitar usuario unico sql server



SQL Server 2008 R2 atorado en modo de usuario único (4)

Use DAC (Conexión de administrador dedicado) . Asegúrese de haberlo habilitado primero En el tipo de SSMS en admin: para Nombre del servidor después de conectarse al maestro ALTER DATABASE SET MULTI_USER

Después de ejecutar un despliegue de DB (desde un proyecto de base de datos VS SQL Server) en una base de datos local, que falló, la base de datos se ha dejado en un estado donde tiene el modo de usuario único dejado (el despliegue se ejecuta como modo de usuario único).

Cuando me conecto desde SSMS y pruebo algo como lo siguiente:

ALTER DATABASE MyDatabase SET MULTI_USER; GO

Me sale el error:

Los cambios en el estado u opciones de la base de datos ''MyDatabase'' no se pueden hacer en este momento. La base de datos está en modo de usuario único y un usuario está actualmente conectado a ella.

Intenté desconectar la base de datos, que SSMS me dice que tiene éxito, pero parece que en realidad no hace nada. Hasta ahora, solo he podido evitar esto al descartar y volver a crear la base de datos (lo cual está bien, porque es solo una base de datos de prueba local). Sin embargo, me gustaría poder restablecer el estado.

¿Cómo puedo convencer a SQL Server para sacar esta base de datos del modo de usuario único?


En la primera ejecución siguiente consulta en la base de datos master

exec sp_who

Si no puede encontrar al culpable, intente

SELECT request_session_id FROM sys.dm_tran_locks WHERE resource_database_id = DB_ID(''YourDatabase'')

Luego mata todo el proceso que usa tu base de datos con la siguiente consulta:

KILL spid

A continuación, ejecute la siguiente consulta:

USE Master ALTER DATABASE YourDatabase SET MULTI_USER


Esto fue respondido aquí , el código es:

use master ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE --do you stuff here ALTER DATABASE YourDatabase SET MULTI_USER


Pruebe los comandos a continuación

Primero ejecuta estos tres comandos

USE [master] SET DEADLOCK_PRIORITY HIGH exec sp_dboption MyDBName, ''single user'', ''FALSE'';

Segundo ejecuta estos dos comandos

ALTER DATABASE MyDBName SET MULTI_USER WITH NO_WAIT ALTER DATABASE MyDBName SET MULTI_USER WITH ROLLBACK IMMEDIATE