DBAtlas · Atlas für Datenbankbetrieb

5061: ALTER DATABASE failed because a lock could not be placed on database

SQL Server

Was bedeutet das?

Eine ALTER DATABASE-Operation (z. B. Wechsel in den Single-User-Modus, Dateiänderung, Setzen einer Option) konnte die benötigte Sperre auf der Datenbank nicht erlangen, weil andere aktive Verbindungen/Sessions sie nutzen.

Ursache

Die Operation wurde versucht, während die Datenbank in Gebrauch war; die für SET SINGLE_USER, RESTRICTED_USER oder ähnliche Optionsänderungen nötige exklusive Sperre konnte wegen aktiver Benutzerverbindungen nicht erlangt werden. Häufig bei häufigen Deployments/Wartungen bei offenen Anwendungsverbindungen.

Lösung

Ermittle die anderen mit der Datenbank verbundenen Sessions (sys.dm_exec_sessions, sp_who2) und schließe sie sicher. Ändere für Wartungen den Modus und rolle dabei offene Transaktionen mit der Option ROLLBACK zurück: ALTER DATABASE [db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; Führe die Operation bei geringem Anwendungsverkehr oder in einem Wartungsfenster durch. Denke daran, danach wieder auf MULTI_USER umzustellen.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank