Este es un duplicado de la pregunta que hice en stackoverflow , pero me dijeron que alguien aquí podría tener una mejor idea de lo que está sucediendo.
Tengo un problema esporádico, cuando actualizo SQL Server en un modo de usuario único, usando .NET SqlConnection, alguna otra aplicación inicia sesión de alguna manera en la base de datos, mientras se ejecuta el código SQL, y elimina mi proceso. SqlConnection no está cerrado ni dispuesto de ninguna manera. Pero alguna otra aplicación termina de alguna manera conectada a la base de datos y eso elimina mi conexión.
Cuando ejecuto sp_who, pude ver que un proceso que tomó el control de la base de datos es Command = "TASK MANAGER".
Cualquiera podría decirme en qué consiste este proceso, cuál es su propósito y cómo podría ingresar en una base de datos, que está en modo de usuario único, y hay una conexión activa.
fuente
Respuestas:
Tuve el mismo problema hoy: si no ha APAGADO su AUTO_UPDATE_STATISTICS ASYNC, no podrá ingresar a su base de datos, puede resolver esto poniendo su base de datos fuera de línea. Es importante saber que debe establecer su prioridad de punto muerto en alta, de lo contrario quedará bloqueado fuera del comando. Use los siguientes comandos para salir del modo de usuario ÚNICO
Seguido por
Seguido por
fuente
SET MULTIUSER WITH ROLLBACK IMMEDIATE
trabajo solo por sí mismo cuandoSET DEADLOCK_PRIORITY HIGH
se hizo primeroCreo que el misterio finalmente se resolvió :
fuente
Detenga el seguimiento de eventos extendidos "system_health". Se enumerará en
SQL Server Management Studio
-> [ServerName]
-> Management
-> Extended Events
-> Right-Click on 'System_health'
-> Hit Stop Session
Una vez que el bloqueador esté reparado, reinicie la sesión.
fuente
Debe deshabilitar el Agente SQL 'antes' de iniciar el modo de uso único. Como el agente accout tomará el acceso de usuario único. Recuerde que el usuario único no es usted, es el primer usuario / proceso en conectarse.
fuente