DBAtlas · Veritabanı operasyon atlası

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

SQL Server

Ne demek?

Bir ALTER DATABASE işlemi (ör. tek kullanıcı moduna alma, dosya değişikliği, seçenek ayarı), veritabanı üzerinde gereken lock'u alamadı çünkü başka etkin bağlantılar/oturumlar veritabanını kullanıyor.

Neden olur?

İşlem, veritabanının o an kullanımda olduğu bir sırada denendi; SET SINGLE_USER, RESTRICTED_USER ya da benzeri seçenek değişiklikleri için gereken özel lock, aktif kullanıcı bağlantıları nedeniyle alınamadı. Sık deploy/bakım sırasında uygulama bağlantıları açıkken görülür.

Nasıl çözülür?

Veritabanına bağlı diğer oturumları belirleyin (sys.dm_exec_sessions, sp_who2) ve güvenle kapatın. Bakım için ROLLBACK seçeneğiyle mevcut transaction'ları geri alarak modu değiştirin: ALTER DATABASE [db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; İşlemi uygulama trafiği düşükken/bakım penceresinde yapın. İşiniz bitince MULTI_USER moduna geri döndürmeyi unutmayın.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar