Mi SQL Server 2005 no restaura una copia de seguridad debido a conexiones activas. ¿Cómo puedo forzarlo?
sql-server
sql-server-2005
backup
restore
disconnect
Jader Dias
fuente
fuente
Respuestas:
SQL Server Management Studio 2005
Cuando hace clic derecho en una base de datos y hace clic
Tasks
y luego hace clicDetach Database
, aparece un cuadro de diálogo con las conexiones activas.Al hacer clic en el hipervínculo debajo de "Mensajes" puede eliminar las conexiones activas.
Luego puede eliminar esas conexiones sin separar la base de datos.
Más información aquí .
SQL Server Management Studio 2008
La interfaz ha cambiado para SQL Server Management Studio 2008, estos son los pasos (a través de: Tim Leung )
fuente
Desea configurar su base de datos en modo de usuario único, realice la restauración y luego vuelva a configurarla en multiusuario:
Referencia: Pinal Dave ( http://blog.SQLAuthority.com )
Referencia oficial: https://msdn.microsoft.com/en-us/library/ms345598.aspx
fuente
ROLLBACK IMMEDIATE
oROLLBACK AFTER 60
. La única forma de guardar esos datos es realizar otra copia de seguridad después de la reversión. Pero está restaurando desde una copia de seguridad diferente. Entonces, ¿qué sentido tiene esperar? ¿Me estoy perdiendo de algo?Este código funcionó para mí, mata todas las conexiones existentes de una base de datos. Todo lo que tiene que hacer es cambiar la línea Set @dbname = 'databaseName' para que tenga el nombre de su base de datos.
después de esto pude restaurarlo
fuente
Prueba esto:
fuente
Reiniciar el servidor SQL desconectará a los usuarios. La forma más fácil que he encontrado, también es bueno si quieres desconectar el servidor.
Pero por alguna extraña razón, la opción 'Desconectar' no lo hace de manera confiable y puede colgar o confundir la consola de administración. Reiniciar y luego desconectar trabajos
A veces, esta es una opción, si, por ejemplo, ha detenido un servidor web que es la fuente de las conexiones.
fuente
Me encontré con este problema mientras automatizaba un proceso de restauración en SQL Server 2008. Mi enfoque (exitoso) fue una combinación de dos de las respuestas proporcionadas.
Primero, me encuentro con todas las conexiones de dicha base de datos y las elimino.
Luego, configuro la base de datos en modo de usuario único
Entonces, ejecuto la restauración ...
Mata las conexiones de nuevo
Y vuelva a configurar la base de datos en multi_user.
De esta manera, me aseguro de que no haya conexiones que detengan la base de datos antes de configurarla en modo único, ya que la primera se congelará si la hay.
fuente
Ninguno de estos funcionaba para mí, no podía eliminar ni desconectar a los usuarios actuales. Tampoco pude ver ninguna conexión activa a la base de datos. Reiniciar SQL Server (haga clic derecho y seleccione Reiniciar) me permitió hacerlo.
fuente
Para agregar a los consejos ya dados, si tiene una aplicación web que se ejecuta a través de IIS que usa la base de datos, es posible que también deba detener (no reciclar) el grupo de aplicaciones para la aplicación mientras restaura, luego reinicie. La detención del grupo de aplicaciones elimina las conexiones http activas y no permite más, lo que de otro modo podría terminar permitiendo que se activen procesos que se conectan y, por lo tanto, bloquean la base de datos. Este es un problema conocido, por ejemplo, con el sistema de gestión de contenido Umbraco al restaurar su base de datos
fuente
Nada de lo anterior funcionó para mí. Mi base de datos no mostró ninguna conexión activa usando Activity Monitor o sp_who. Finalmente tuve que:
No es la solución más elegante, pero funciona y no requiere reiniciar SQL Server (no es una opción para mí, ya que el servidor DB alojó un montón de otras bases de datos)
fuente
Prefiero hacer así
alterar la base de datos establecida sin conexión con reversión inmediata
y luego restaure su base de datos. después de esto,
alterar la base de datos establecida en línea con reversión inmediata
fuente