Estoy usando esta consulta para cambiar el nombre de la base de datos:
ALTER DATABASE BOSEVIKRAM MODIFY NAME = [BOSEVIKRAM_Deleted]
Pero muestra un error al excitar:
Msg 5030, Nivel 16, Estado 2, Línea 1
La base de datos no se pudo bloquear exclusivamente para realizar la operación.
¿Hay algún problema con mi consulta?
sql
sql-server
sql-server-2008-r2
Vikram Bose
fuente
fuente
Respuestas:
Puede intentar configurar la base de datos en modo de usuario único.
https://stackoverflow.com/a/11624/2408095
fuente
WITH ROLLBACK IMMEDIATE
necesario Si no lo uso en absoluto, ¿causará problemas?WITH ROLLBACK IMMEDIATE
mientras modifica una base de datos en la que otros usuarios podrían estar operando, para garantizar la integridad de estas operaciones. Pero no es realmente necesario volver a configurar la base de datos en modo MULTI_USER ya que la base de datos ya está en modo SINGLE_USER y de todos modos usted es el único usuario capaz de ejecutar cualquier transacción.Establezca la base de datos en modo único:
Intente cambiar el nombre de la base de datos:
Establezca la base de datos en modo multiusuario:
fuente
WITH ROLLBACk IMMEDIATE
para multiusuario?En SQL Server Management Studio (SSMS) :
También puede hacer clic derecho en su base de datos en el Explorador de objetos e ir a Propiedades . Desde allí, vaya a Opciones . Desplácese hasta abajo y configure Restringir acceso a SINGLE_USER . Cambie el nombre de su base de datos, luego regrese y configúrelo nuevamente en MULTI_USER .
fuente
Intente cerrar todas las conexiones a su base de datos primero:
Tomado de aquí
fuente
Esto lo hizo por mí:
fuente
Eso es porque alguien más está accediendo a la base de datos. Ponga la base de datos en modo de usuario único y cámbiele el nombre.
Este enlace podría ayudar:
http://msdn.microsoft.com/en-IN/library/ms345378(v=sql.105).aspx
y también:
http://msdn.microsoft.com/en-us/library/ms345378.aspx
fuente
Cambie la base de datos al modo de usuario único como se muestra en las otras respuestas
A veces, incluso después de convertir al modo de usuario único, la única conexión permitida a la base de datos puede estar en uso.
Para cerrar una conexión incluso después de convertir al modo de usuario único, intente:
Mire los resultados y vea la ID de la conexión a la base de datos en cuestión.
Luego use el siguiente comando para cerrar esta conexión (solo debería haber una, ya que la base de datos ahora está en modo de usuario único)
Reemplace connection_id con la ID en los resultados de la primera consulta
fuente
1.database establece el primer modo de usuario único
ALTER DATABASE BOSEVIKRAM SET SINGLE_USER CON ROLLBACK INMEDIATE
2.RENOMBRAR LA BASE DE DATOS
ALTERAR BASE DE DATOS BOSEVIKRAM MODIFICAR NOMBRE = [BOSEVIKRAM_Deleted]
3.DATABAE SET MODO MULIUSER
ALTER DATABASE BOSEVIKRAM_Eliminado SET MULTI_USER CON ROLLBACK INMEDIATE
fuente
Otra forma de cerrar todas las conexiones:
Herramientas administrativas> Ver servicios locales
Detener / Iniciar el servicio "SQL Server (MSSQLSERVER)"
fuente
fuente