Manuell (und damit mit etwas Aufwand, programmatisch) können Sie den Befehl KILL
verwenden, um offene Verbindungen zur Datenbank summarisch zu schließen.
Identifizieren, welche Verbindungen zu schließen, 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 einer unvermeidlichen respektvollen Abscheu vor Verbindungspools.
Alle diese werden detailliert in SQL-Onlinedokumentation behandelt. Es ist der Beginn eines ziemlich umfangreichen Labyrinths, und wie weit du dich hineinsteigst, hängt von deinen ultimativen Zielen ab.
Ich habe festgestellt, Sie können es nicht sogar offline nehmen, wenn Menschen mit der Datenbank verbunden sind, es sei denn, Sie trennen sie, indem Sie Ihre Datenbank im Einzelbenutzermodus erhalten. –
[Savin 'ya ein Google] (http://blog.sqlauthority.com/2010/04/24/sql-server-t-sql-script-to-take-database-offline-take-database-online/) : 'ALTER DATABASE [myDB] OFFLINE MIT ROLLBACK IMMEDIATE EINSTELLEN 'und' ALTER DATABASE [myDB] SET ONLINE' – ruffin
Der Dialog zum Offline-Ausführen einer Datenbank ist nicht interaktiv. Es versucht es einfach, ohne Sie zuerst zu fragen, und Abbrechen funktioniert nicht. Und es kann lange dauern, bis es scheitert. Wenn Sie die Datenbank trennen, gibt es stattdessen eine Option zum Löschen der aktuellen Sitzungen. –