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.
Ещё по этой СУБД
- 40501The service is currently busy. Retry the request after 10 seconds
- 8645A time out occurred while waiting for memory resources to execute the query
- 8651Could not perform the operation because the requested memory grant was not available
- 3702Cannot drop database because it is currently in use
- 15138The database principal owns a schema in the database, and cannot be dropped
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings
- 468Cannot resolve the collation conflict