Es wird nicht oft gebraucht, aber wenn, dann müssen wohl die meisten nachschlagen wie es geht. Hier eine kurze Zusammenfassung. In den untenstehenden Passagen wird eine Datenbank namens test verwendet. Dies ist an die eigenen Bedürfnisse anzupassen.

exec sp_dboption ‚test‘, ’single user‘, ‚FALSE‘

Sollte eine aktive Verbindung bestehen, erfolgt nun diese Meldung:

Msg 5064, Level 16, State 1, Line 1
Changes to the state or options of database ‚test‘ 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.
sp_dboption command failed.

Um die SPID heraus zu finden, ist folgendes Statement zu verwenden:

select d.name, d.dbid, spid, login_time, nt_domain, nt_username, loginame
  from sysprocesses p inner join sysdatabases d on p.dbid = d.dbid
where d.name = ‚test‘

Nun, die SPID wählen und den Prozess ins Nirvana schicken:

kill 57

Nun nochmals das erste Statement ausführen:

exec sp_dboption ‚test‘, ’single user‘, ‚FALSE‘

Command(s) completed successfully.

Fertisch.

Über den Autor

Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler und Fotograf. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.