DBAtlas · Атлас эксплуатации баз данных

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

SQL Server

Что это значит?

Операция ALTER DATABASE (например, переход в однопользовательский режим, изменение файла, установка параметра) не смогла получить необходимую блокировку базы данных, так как её используют другие активные соединения/сеансы.

Почему возникает?

Операция предпринята, когда база данных использовалась; исключительную блокировку, необходимую для SET SINGLE_USER, RESTRICTED_USER или аналогичных изменений параметров, не удалось получить из-за активных пользовательских соединений. Часто встречается при частых развёртываниях/обслуживании при открытых соединениях приложения.

Как исправить

Определите другие сеансы, подключённые к базе данных (sys.dm_exec_sessions, sp_who2), и безопасно закройте их. Для обслуживания меняйте режим с откатом открытых транзакций параметром ROLLBACK: ALTER DATABASE [db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; Выполняйте операцию при низком трафике приложения или в окно обслуживания. По завершении не забудьте вернуться в MULTI_USER.

Открыть в DBAtlas →

Ещё по этой СУБД