it-swarm.com.de

Löschen der aktuell verwendeten SQL Server-Datenbank und im Einzelbenutzermodus

Ich habe eine Datenbank unter SQL Server 2008, die ich löschen möchte. Derzeit befindet es sich im Einzelbenutzermodus und wird derzeit verwendet.

select * from sys.sysprocesses

kehrt zurück

Msg 924, Level 14, State 1, Line 1
Database 'G_MAIN_DE' is already open and can only have one user at a time.

und ich weiß nicht, wie ich die Sitzung identifizieren soll, die ich beenden muss.

Ein Versuch, es offline zu setzen

ALTER DATABASE G_MAIN_DE SET OFFLINE WITH ROLLBACK IMMEDIATE

ergibt

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.
7
bernd_k

Um die Sitzung zu identifizieren, die derzeit die Datenbank verwendet, können Sie versuchen

SELECT request_session_id
FROM   sys.dm_tran_locks
WHERE  resource_database_id = DB_ID('G_MAIN_DE') 
15
Martin Smith

Diese integrierte gespeicherte Prozedur zeigt alle Verbindungen zu einer Datenbank an

exec sp_who2

Diese Abfrage beendet eine Verbindung zur Datenbank, z. B. die Verbindungs-SPID Nr. 53

exec kill 53
8
sa555

Am einfachsten ist es, den SSMS-Aktivitätsmonitor zu verwenden (Rechtsklick auf Server/Aktivitätsmonitor/Prozesse). Nach Datenbank sortieren. Töte jeden Prozess, der die DB festhält. Möglicherweise möchten Sie auch den Befehl kill ausführen, bevor Sie die Datenbank auf Einzelbenutzer setzen und das Löschen durchführen.

2
FAA