Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

ändere die Datenbank auf 'online' und setze db auf 'multi-user'

^ Dies ist das Problem, das Sie lösen müssen.

Stellen Sie sicher, dass Sie sich nicht IN dieser Datenbank befinden. Schließen Sie alle damit verbundenen Abfragefenster, beenden Sie die Objekt-Explorer-Details, schließen Sie SSMS und öffnen Sie es erneut, ohne dass der Objekt-Explorer mit diesem Server verbunden ist usw. Führen Sie Folgendes aus:

USE [master];
GO

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

Das sollte es Ihnen ermöglichen, es online zu bringen, dann würden Sie die aufgelisteten Befehle ausführen.

Allerdings:

  • Dies kann länger dauern, je nachdem, welche Rollback-Aktivität mit den Sitzungen, die Sie rausschmeißen, durchgeführt werden muss.
  • Es ist immer möglich, dass ein anderer Prozess schneller ist als Sie und diese einzelne Verbindung nimmt, wenn Sie es auf Einzelbenutzer setzen. Wenn Sie feststellen, dass dies passiert, können Sie mithilfe von sp_whoisactive herausfinden, wer es ist oder DMVs wie sys.dm_tran_locks - Es kann sein, dass Sie die Verbindung von Anwendungen unterbrechen und/oder den SQL Server-Agenten herunterfahren müssen.