Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los archivos de datos y de registro de transacciones de una base de datos se pueden desasociar y, a continuación, volver a adjuntarlos a la misma instancia de SQL Server u otra instancia de SQL Server. Desasociar y adjuntar una base de datos es útil si desea cambiar la base de datos a una instancia diferente de SQL Server en el mismo equipo o para mover la base de datos.
El formato de almacenamiento en disco de SQL Server es el mismo en los entornos de 64 y 32 bits. Por lo tanto, la conexión funciona en entornos de 32 y 64 bits. Una base de datos desasociada de una instancia de servidor que se ejecuta en un entorno se puede adjuntar en una instancia de servidor que se ejecuta en otro entorno.
Seguridad
Los permisos de acceso a archivos se establecen durante varias operaciones de base de datos, incluida la desasociación o la asociación de una base de datos.
Importante
Se recomienda no adjuntar ni restaurar bases de datos de orígenes desconocidos o que no son de confianza. Es posible que dichas bases de datos contengan código malintencionado que podría ejecutar código de Transact-SQL no deseado o provocar errores al modificar el esquema o la estructura de la base de datos física. Antes de usar una base de datos de un origen desconocido o que no es de confianza, ejecute DBCC CHECKDB en la base de datos en un servidor que no sea de producción y examine también el código, como procedimientos almacenados u otro código definido por el usuario, en la base de datos.
Desconexión de una base de datos
Desasociar una base de datos la quita de la instancia de SQL Server, pero deja intacta la base de datos dentro de sus archivos de datos y archivos de registro de transacciones. Estos archivos se pueden usar para adjuntar la base de datos a cualquier instancia de SQL Server, incluido el servidor desde el que se desasoció la base de datos.
No se puede desasociar una base de datos si se cumple alguna de las siguientes condiciones:
La base de datos se replica y publica. Si se replica, la base de datos debe no publicarse. Para poder desasociarla, debe deshabilitar la publicación ejecutando sp_replicationdboption.
Nota:
Si no puede usar sp_replicationdboption, puede quitar la replicación ejecutando sp_removedbreplication.
Existe una instantánea de base de datos en la base de datos.
Para poder desconectar la base de datos, debe quitar todas sus instantáneas. Para obtener más información, vea Eliminar una instantánea de base de datos (Transact-SQL).
Nota:
No se puede desasociar ni adjuntar una instantánea de base de datos.
La base de datos está siendo reflejada en una sesión de reflejo de base de datos.
La base de datos no se puede desasociar a menos que finalice la sesión. Para obtener más información, vea Eliminar el reflejo de base de datos (SQL Server).
La base de datos es sospechosa. No se puede desasociar una base de datos sospechosa; antes de poder desasociarla, debe colocarla en modo de emergencia. Para obtener más información sobre cómo colocar una base de datos en modo de emergencia, vea ALTER DATABASE (Transact-SQL).
La base de datos es una base de datos del sistema.
Copia de seguridad y restauración y desconectar
Separar una base de datos de solo lectura hace perder información sobre las bases diferenciales de las copias de seguridad diferenciales. Para obtener más información, vea Copias de seguridad diferenciales (SQL Server).
Responder a errores de desconexión
Los errores producidos al desasociar una base de datos pueden impedir que la base de datos se cierre limpiamente y el registro de transacciones se vuelva a compilar. Si recibe un mensaje de error, realice las siguientes acciones correctivas:
Vuelva a adjuntar todos los archivos asociados a la base de datos, no solo el archivo principal.
Resuelva el problema que provocó el mensaje de error.
Vuelva a desconectar la base de datos.
Adjuntar una base de datos
Puede adjuntar una base de datos de SQL Server copiada o desasociada. Al adjuntar una instancia de servidor de SQL Server 2014, los archivos de catálogo se adjuntan desde su ubicación anterior junto con los demás archivos de base de datos, igual que en SQL Server 2005. Para obtener más información, vea Actualizar la búsqueda de texto completo.
Al adjuntar una base de datos, todos los archivos de datos (archivos MDF y NDF) deben estar disponibles. Si algún archivo de datos tiene una ruta de acceso diferente de la primera vez que se creó la base de datos o la última adjunta, debe especificar la ruta de acceso actual del archivo.
Nota:
Si el archivo de datos principal que se adjunta es de solo lectura, el motor de base de datos asume que la base de datos es de solo lectura.
Cuando una base de datos cifrada se adjunta por primera vez a una instancia de SQL Server, el propietario de la base de datos debe abrir la clave maestra de la base de datos ejecutando la siguiente instrucción: OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password
'. Se recomienda que habilite el descifrado automático de la clave maestra incorporando la siguiente instrucción: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Para obtener más información, vea CREATE MASTER KEY (Transact-SQL) y ALTER MASTER KEY (Transact-SQL).
El requisito de adjuntar archivos de registro depende en parte de si la base de datos es de lectura y escritura o de solo lectura, como se indica a continuación.
Para una base de datos de lectura y escritura, normalmente puede adjuntar un archivo de registro en una nueva ubicación. Sin embargo, en algunos casos, volver a adjuntar una base de datos requiere sus archivos de registro existentes. Por lo tanto, es importante mantener siempre todos los archivos de registro desasociados hasta que la base de datos se haya adjuntado correctamente sin ellos.
Si una base de datos de lectura y escritura tiene un único archivo de registro y no especifica una nueva ubicación para el archivo de registro, la operación de asociación busca en la ubicación antigua del archivo. Si se encuentra, se usa el archivo de registro anterior, independientemente de si la base de datos se cerró limpiamente. Sin embargo, si no se encuentra el archivo de registro anterior y si la base de datos se cerró limpiamente y no tiene ninguna cadena de registro activa, la operación de asociación intenta crear un nuevo archivo de registro para la base de datos.
Si el archivo de datos principal que se va a adjuntar es de solo lectura, SQL Server no puede actualizar la ubicación del registro almacenada en el archivo principal.
Cambios de metadatos al adjuntar una base de datos
Cuando se separa una base de datos de solo lectura y, a continuación, se vuelve a anexar, se pierde la información de copia de seguridad sobre la base diferencial actual. La base diferencial es la copia de seguridad completa más reciente de todos los datos de la base de datos o en un subconjunto de los archivos o grupos de archivos de la base de datos. Sin la información de copia de seguridad base, la base de datos maestra se desincroniza con la base de datos de solo lectura, por lo que las copias de seguridad diferenciales realizadas posteriormente pueden proporcionar resultados inesperados. Por lo tanto, si usa copias de seguridad diferenciales con una base de datos de solo lectura, debe establecer una nueva base diferencial realizando una copia de seguridad completa después de volver a adjuntar la base de datos. Para obtener información sobre las copias de seguridad diferenciales, vea Copias de seguridad diferenciales (SQL Server) .
Al adjuntar, se produce el inicio de la base de datos. Por lo general, adjuntar una base de datos lo coloca en el mismo estado en el que estaba cuando se desasoció o copió. Sin embargo, las operaciones de asociación y desasociación deshabilitan el encadenamiento de propiedad entre bases de datos para la base de datos. Para obtener información sobre cómo habilitar el encadenamiento, consulte Cross db ownership chaining Server Configuration Option (Opción de configuración del servidor de encadenamiento de propiedad entre bases de datos). Además, TRUSTWORTHY se establece en OFF cada vez que se adjunta la base de datos. Para obtener información sobre cómo establecer TRUSTWORTHY en ON, vea ALTER DATABASE (Transact-SQL).
Copia de seguridad y restauración y adjuntar
Al igual que cualquier base de datos que esté completamente o parcialmente sin conexión, no se puede adjuntar una base de datos con archivos de restauración. Si detiene la secuencia de restauración, puede adjuntar la base de datos. A continuación, puede reiniciar la secuencia de restauración.
Adjuntar una base de datos a otra instancia del servidor
Importante
Una base de datos creada por una versión más reciente de SQL Server no puede adjuntarse en versiones anteriores.
Al adjuntar una base de datos a otra instancia de servidor, para proporcionar una experiencia coherente a los usuarios y las aplicaciones, es posible que tenga que volver a crear algunos o todos los metadatos de la base de datos, como inicios de sesión y trabajos, en la otra instancia del servidor. Para obtener más información, consulte Administración de los metadatos cuando una base de datos pasa a estar disponible en otro servidor (SQL Server).
Tareas relacionadas
Para separar una base de datos
Para adjuntar una base de datos
Para actualizar una base de datos mediante operaciones de desasociación y asociación
Para mover una base de datos mediante operaciones de desasociación y asociación
Para eliminar una instantánea de base de datos