Exclusive access could not be obtained because the database is in use


Intentas restaurar una base de datos desde un backup utilizando Microsoft SQL Server Management Studio y te aparece el siguiente error:

Restore failed for Server 'TuServidor'.  (Microsoft.SqlServer.SmoExtended)

System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in use. (Microsoft.SqlServer.Smo)

Lo que ocurre es que la base de datos está abierta por otro proceso y debes cerrar todas las conexiones. Para hacerlo, abre una ventana de Query y coloca lo siguiente:

SQL:
  1. USE master
  2. go
  3. ALTER DATABASE nombre_de_tu_base_de_datos SET single_user WITH rollback immediate
  4. ALTER DATABASE nombre_de_tu_base_de_datos SET multi_user

Este script fue tomado de un excelente post escrito por Sergio Tarrillo, en el cual puedes encontrar soluciones adicionales para este problema.

  1. #1 by Angel on 1 Octubre 2010 - 13:19

    gracias, en sql server 2008 me funciona perfecto

  2. #2 by Pablo Viale on 1 Octubre 2010 - 14:34

    De lujo Angel, saludos.

  3. #3 by Hamilton on 25 Octubre 2010 - 8:34

    sin tanta explicación, claro ,sencillo y perfecto Gracias, funciono bien.

  4. #4 by Pablo Viale on 25 Octubre 2010 - 14:25

    Hamilton :

    sin tanta explicación, claro ,sencillo y perfecto Gracias, funciono bien.

    8-)

  5. #5 by Gabino on 9 Febrero 2011 - 11:33

    De lujo tu respuesta. saludos

  6. #6 by Ivan3911 on 27 Abril 2011 - 10:47

    aqui hay otra manera.!!

    Ir al Management -> activity monitor y verificar si hay algun proceso accesando a la BD, en caso de que hubiera, elimina el proceso y entonces ejecuta de nuevo la restauracion

  7. #7 by Pablo Viale on 27 Abril 2011 - 11:07

    Gracias por el comentario Iván.
    Saludos!

  8. #8 by Miguel Zurita on 10 Enero 2012 - 7:54

    Muchas gracias a sido de mucha ayuda

(No será publicado)