DBAtlas · Atlas de operações de banco de dados

5061: ALTER DATABASE failed because a lock could not be placed on database (ALTER DATABASE falhou porque não foi possível obter um lock no banco)

SQL Server

O que significa?

Uma operação ALTER DATABASE (por exemplo, mudar para o modo single-user, alterar um arquivo, definir uma opção) não conseguiu obter o lock necessário no banco porque outras conexões/sessões ativas o estão usando.

Por que acontece?

A operação foi tentada com o banco em uso; o lock exclusivo necessário para SET SINGLE_USER, RESTRICTED_USER ou alterações de opções semelhantes não pôde ser obtido por causa de conexões ativas de usuários. Comum durante deploys/manutenções frequentes com conexões da aplicação abertas.

Como resolver

Identifique as outras sessões conectadas ao banco (sys.dm_exec_sessions, sp_who2) e feche-as com segurança. Para manutenção, mude o modo fazendo rollback das transações abertas com a opção ROLLBACK: ALTER DATABASE [db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; Execute a operação quando o tráfego da aplicação estiver baixo ou em uma janela de manutenção. Lembre-se de voltar para MULTI_USER ao terminar.

Abrir no DBAtlas →

Mais entradas deste banco