Depois de obter o erro, execute
EXEC sp_who2
Procure o banco de dados na lista. É possível que uma conexão não tenha sido encerrada. Se você encontrar alguma conexão com o banco de dados, execute
KILL <SPID>
onde
<SPID>
é o SPID para as sessões que estão conectadas ao banco de dados. Tente seu script depois que todas as conexões com o banco de dados forem removidas.
Infelizmente, não tenho uma razão pela qual você está vendo o problema, mas aqui está um link que mostra que o problema ocorreu em outro lugar.
http://www.geakeit.co.uk/2010/12/11/sql-take-offline-fails-alter-database-failed-because-a-lock-could- não-erro-5061/