Compartir a través de


Adjuntar y separar bases de datos

Con frecuencia se producen situaciones en las que un administrador de bases de datos de Analysis Services desea dejar sin conexión una base de datos durante un tiempo para después volver a ponerla en línea en la misma instancia de servidor o en otra distinta. Estas situaciones suelen responder a necesidades empresariales, como mover la base de datos a otro disco para mejorar el rendimiento, disponer de más espacio para que la base de datos pueda crecer o actualizar un producto. Para estos y otros casos, los comandos Attach y Detach permiten al administrador de bases de datos de Analysis Services dejar sin conexión la base de datos y volver a ponerla en línea con el mínimo esfuerzo.

Los comandos Attach y Detach

El comando Attach le permite poner en línea una base de datos que se dejó sin conexión. Puede adjuntar la base de datos a la instancia del servidor original o a otra instancia. Al adjuntar una base de datos, es posible especificar el valor de la propiedad ReadWriteMode de la base de datos. El comando Detach le permite dejar sin conexión una base de datos del servidor.

Uso de Attach y Detach

El comando Attach se utiliza para poner en línea una estructura de base de datos existente. Si la base de datos se adjunta en el modo ReadWrite, sólo puede adjuntarse una vez a una instancia de servidor. Sin embargo, si la base de datos se adjunta en el modo ReadOnly, puede adjuntarse varias veces a distintas instancias de servidor. No obstante, la misma base de datos no puede adjuntarse más de una vez a la misma instancia de servidor. Se produce un error cuando se intenta adjuntar la misma base de datos más de una vez, incluso si los datos se han copiado en carpetas distintas.

Nota importanteImportante

Si se necesitó una contraseña para separar la base de datos, deberá usarse la misma contraseña para adjuntarla.

El comando Detach se utiliza para dejar sin conexión una estructura de base de datos existente. Cuando separe una base de datos, conviene que proporcione una contraseña para proteger los metadatos confidenciales.

Nota importanteImportante

Para proteger el contenido de los archivos de datos, debería utilizar una lista de control de acceso para la carpeta, las subcarpetas y los archivos de datos.

Cuando se separa una base de datos, el servidor sigue estos pasos.

Separar una base de datos de lectura/escritura

Separar una base de datos de sólo lectura

  1. El servidor emite una solicitud de bloqueo CommitExclusive para la base de datos

  2. El servidor espera hasta que todas las transacciones en curso se confirmen o se reviertan

  3. El servidor genera todos los metadatos que necesita para separar la base de datos

  4. La base de datos se marca como eliminada

  5. El servidor confirma la transacción

  1. La base de datos se marca como eliminada

  2. El servidor confirma la transacción

NotaNota
No es posible cambiar la contraseña de separación para una base de datos de sólo lectura. Se produce un error si se proporciona el parámetro de contraseña para una base de datos adjuntada que ya contiene una contraseña.

Los comandos Attach y Detach se deben ejecutar como operaciones únicas. No se pueden combinar con otras operaciones en la misma transacción. Por otra parte, los comandos Attach y Detach son comandos transaccionales atómicos. Esto significa que la operación se realizará correctamente o producirá un error. No se dejará ninguna base de datos en un estado incompleto.

Nota importanteImportante

Se necesitan privilegios de administrador de bases de datos o de servidores para ejecutar el comando Detach.

Nota importanteImportante

Se necesitan privilegios de administrador de servidores para ejecutar el comando Attach.