User Sessions beenden

Kill All Sessions

Teilweise ist es nicht möglich die Datenbank in den SINGLE_USER Modus zu schalten, beispielsweise weil die Datenbank in einer Always On AG läuft oder es sich um eine Azure SQL Database handelt. In solchen Fällen kann es manchmal notwendig oder praktisch sein alle User Sessions mit dem KILL Befehl zu beenden, beispielsweise um eine Datenbank umzukonfigurieren oder ein Login zu löschen.

Das folgende Scripts beendet alle User Sessions innerhalb der aktuellen Datenbank, außer den Sessions, welche zu dem eigenen User gehören:

Das Script lässt sich dabei leicht anpassen, um beispielsweise nur Sessions auf dem Server zu beenden. Praktisch kann dies auch vor dem zurücksetzen auf einen Snapshot sein, falls noch Sessions zu dem entsprechenden Datenbank Snapshot offen sind.

Hierbei muss nur das SELECT entsprechend angepasst werden. Das folgende SELECT beendet alle Sessions in der aktuellen Datenbank, bis auf die eigene:

Läuft innerhalb einer Session eine Transaktion, wird diese entsprechend zurückgerollt.