Separar una base de datos

En este tema se describe cómo separar una base de datos en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL. Los archivos separados permanecen y se pueden volver a adjuntar utilizando CREATE DATABASE con la opción FOR ATTACH o FOR ATTACH_REBUILD_LOG. Los archivos se pueden mover a otro servidor y adjuntarse allí.

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Seguridad

  • Para separar una base de datos, utilizando:

    SQL Server Management Studio

    Transact-SQL

Antes de empezar

Limitaciones y restricciones

Para obtener una lista de limitaciones y restricciones, vea Adjuntar y separar bases de datos (SQL Server).

Seguridad

Permisos

Requiere pertenencia al rol fijo de base de datos db_owner.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar SQL Server Management Studio

Para separar una base de datos

  1. En el Explorador de objetos de SQL Server Management Studio, conéctese a la instancia del Motor de base de datos de SQL Server y expándala.

  2. Expanda Bases de datos y seleccione el nombre de la base de datos de usuarios que desee separar.

  3. Haga clic con el botón secundario en el nombre de la base de datos, seleccione Tareas y, a continuación, haga clic en Separar. Aparecerá el cuadro de diálogo Separar base de datos.

    • Bases de datos que se van a separar
      Enumera las bases de datos que se van a separar.

    • Nombre de base de datos
      Muestra el nombre de la base de datos que se va a separar.

    • Quitar conexiones
      Desconecta las conexiones a la base de datos especificada.

      [!NOTA]

      No puede separar una base de datos con conexiones activas.

    • Actualizar estadísticas
      De forma predeterminada, la operación de separación conserva las estadísticas de optimización obsoletas al separar la base de datos; para actualizar las estadísticas de optimización existentes, haga clic en esta casilla.

    • Mantener catálogos de texto completo
      De forma predeterminada, la operación de separación conserva los catálogos de texto completo asociados a la base de datos. Para quitarlos, desactive la casilla Mantener catálogos de texto completo. Esta opción solo aparece cuando se está actualizando una base de datos desde SQL Server 2005.

    • Estado
      Muestra uno de los siguientes estados: Listo o No está listo.

    • Mensaje
      La columna Mensaje puede mostrar información sobre la base de datos, tal como se indica a continuación:

      • Cuando una base de datos está implicada en una replicación, el Estado es No está listo y la columna Mensaje muestra Base de datos replicada.

      • Cuando una base de datos tiene una o más conexiones activas, el Estado es No está listo y la columna Mensaje muestra <number_of_active_connections> conexiones activas; por ejemplo: 1 conexiones activas. Antes de separar la base de datos, debe desconectar todas las conexiones activas seleccionando Quitar conexiones.

      Para obtener más información acerca de un mensaje, haga clic en el texto con hipervínculo para abrir el Monitor de actividad.

  4. Cuando esté listo para separar la base de datos, haga clic en Aceptar.

[!NOTA]

La base de datos recién separada permanecerá visible en el nodo Bases de datos del Explorador de objetos hasta que se actualice la vista. Puede actualizar la vista en cualquier momento haciendo clic en el panel del Explorador de objetos y seleccionando a continuación Ver y por último Actualizar de la barra de menús.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar Transact-SQL

Para separar una base de datos

  1. Conéctese con el Motor de base de datos.

  2. En la barra Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se separa la base de datos AdventureWorks2012 con el valor de skipchecks establecido en true.

EXEC sp_detach_db 'AdventureWorks2012', 'true';

Vea también

Referencia

sp_detach_db (Transact-SQL)

Conceptos

Adjuntar y separar bases de datos (SQL Server)