SQL-Server Fehlerbehebung: Datenbank im Einzelbenutzermodus

[su_note]Achtung: Benutzung der SQL-Befehle auf eigene Verantwortung![/su_note]

 

Situation

Durch eine fehlgeschlagene Kopier-Aktion befand sich eine Datenbank im Einzelbenutzermodus. Sie ließ sich nicht mehr administrieren. Erkennbar war dies durch den Eintrag Einzelbenutzermodus im Objekt-Explorer des Microsoft SQL Server Management Studio. Jeder weitere Versuch scheiterte, da die Datenbank in diesem Einzelbenutzermodus bereits mit einem anderen Anwender verbunden war.

Umgebung

Microsoft SQL Server 2008R2

Lösung

Zunächst muss derjenige blockierende Datenbankuser herausgefunden werden. Dies kann erfolgen über folgenden SQL-Befehl:

select
    spid, d.name, d.dbid, login_time, nt_domain, nt_username, loginame
from 
    sysprocesses p 
    inner join sysdatabases d on p.dbid = d.dbid
where 
    d.name = '<HIER NAMEN DER DATENBANK EINTRAGEN>'
go

Das Ergebnis zeigt den User an, der im Moment der Ausführung dieses Befehls mit der Datenbank verbunden war. Diese Verbindung blockiert die Administration.

Die Verbindung muss nun getrennt werden. Das geschieht über folgenden Befehl:

kill <WERT AUS SPALTE spid HIER EINTRAGEN>
go

Anschließend kann der Modus verändert werden:

alter database <HIER NAMEN DER DATENBANK EINTRAGEN> 
    set MULTI_USER
go

Ergebnis

Im Objekt-Explorer des Microsoft SQL Server Management Studio den Eintrag Datenbanken auswählen und die Ansicht mit Taste F5 aktualisieren. Nun sollte die Datenbank wieder wie gewohnt dargestellt werden.

Jan Setzer

Jan Setzer, Jahrgang 1972, ist Wirtschaftsinformatiker (BA) und gelernter Verwaltungsfachangestellter mit über 20 jähriger Berufserfahrung in Software-Entwicklung und IT-Projektgeschäft. Viele Jahre war er als Abteilungsleiter tätig und für Produktentwicklungen und Softwareprojekte zuständig. Als selbständiger Software- und IT-Berater arbeitet er für Behörden und Unternehmen in Schleswig-Holstein und Hamburg.

Das könnte dich auch interessieren …