sql >> Base de Datos >  >> RDS >> Sqlserver

cambie a la base de datos a 'en línea' y configure db a 'multiusuario'

^ Este es el problema que debes resolver.

Asegúrese de no estar EN esa base de datos. Cierre cualquier ventana de consulta que esté conectada a él, cierre Detalles del Explorador de objetos, cierre SSMS y vuelva a abrirlo sin el Explorador de objetos conectado a ese servidor, etc. Ejecute esto:

USE [master];
GO

ALTER DATABASE mydb SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE mydb;
GO

Eso debería permitirle ponerlo en línea, luego ejecutaría los comandos que enumeró.

Sin embargo:

  • Esto puede demorar más de lo que debería, según la actividad de reversión que tenga que ocurrir en las sesiones que está eliminando.
  • Siempre es posible que cuando lo configura para un solo usuario, otro proceso puede ser más rápido que usted y tomar esa única conexión. Si descubre que esto sucede, puede averiguar quién está usando sp_whoisactive o DMV como sys.dm_tran_locks - puede ser que necesite suspender la conexión de aplicaciones y/o cerrar el Agente SQL Server.