Ich versuche, eine lokale Datenbank zu trennen, bekomme aber Fehler, weil bestehende Verbindungen bestehen.
Wie schließe ich bestehende Verbindungen in meiner lokalen Datenbank?
PS. Wird auf SQL Server 2008 Express ausgeführt
Trennen Sie alle anderen Benutzer von Ihrer Datenbank
%Vor%Trennen Sie Ihre SSMS-Verbindungen zur Datenbank
Wenn Sie der einzige Benutzer sind, der mit einer Datenbank verbunden ist und alle Verbindungen, die von Ihnen in SSMS hergestellt wurden, trennen möchten, können Sie auf SSMS mit Query windows
öffnen und mit der rechten Maustaste klicken und siehe unten:
Manuell (und somit mit etwas Aufwand, programmatisch) können Sie den Befehl KILL
verwenden, um offene Verbindungen zur Datenbank summarisch zu schließen.
Identifizieren, welche Schlüsse geschlossen werden sollen, das ist jetzt der schwierige Teil. Beginnen Sie mit den Systemprozeduren SP_WHO
und SP_WHO2
, um manuell zu ermitteln, welche Verbindungen welche Datenbanken verwenden. Die Verwendung und Analyse dieser Prozeduren kann dazu führen, dass Systemobjekte sys.processes, sys.dm_exec_sessions und eine Menge anderer referenziert werden, gefolgt von einem eventuellen Verständnis von SPIDs und einem unvermeidlichen respektvollen Abscheu vor Verbindungspools.
All dies wird ausführlich in der SQL-Onlinedokumentation behandelt. Es ist der Anfang eines ziemlich ausgedehnten Labyrinths, und wie weit Sie hinein kommen, hängt von Ihren ultimativen Zielen ab.
Tags und Links sql sql-server database