Adjuntar una base de datos

En este tema se describe cómo adjuntar una base de datos en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL. Puede usar esta característica para copiar, mover o actualizar una base de datos de SQL Server.

En este tema

  • Antes de empezar:

    Requisitos previos

    Recomendaciones

    Seguridad

  • Para adjuntar una base de datos, use:

    SQL Server Management Studio

    Transact-SQL

  • Seguimiento:  Después de actualizar una base de datos

Antes de empezar

Requisitos previos

  • La base de datos se debe separar primero. Si intenta adjuntar una base de datos que no se ha separado, se devolverá un error. Para obtener más información, vea Separar una base de datos.

  • Al adjuntar una base de datos, todos los archivos de datos deben estar disponibles (archivos MDF y NDF). Si algún archivo de datos tiene una ruta de acceso diferente a la que tenía cuando se creó la base de datos o cuando ésta se adjuntó por última vez, debe especificar la ruta actual.

Recomendaciones

Se recomienda mover las bases de datos mediante el procedimiento de reubicación programada ALTER DATABASE, en lugar del método separar y adjuntar. Para obtener más información, vea Mover bases de datos de usuario.

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

Seguridad

Los permisos de acceso a archivos se establecen durante una serie de operaciones de base de datos, incluidas las operaciones de desasociar o adjuntar una base de datos. Para obtener información sobre los permisos de archivo que se establecen siempre que se separa y se adjunta una base de datos, vea Proteger archivos de datos y de registro en los Libros en pantalla de SQL Server 2008 R2.

Se recomienda no adjuntar ni restaurar bases de datos de orígenes desconocidos o que no sean de confianza. Es posible que dichas bases de datos contengan código malintencionado que podría ejecutar código Transact-SQL no deseado o provocar errores al modificar el esquema o la estructura de la base de datos física. Antes de utilizar una base de datos de un origen desconocido o que no sea de confianza, ejecute DBCC CHECKDB en la base de datos en un servidor que no sea de producción y examine el código de la base de datos, como procedimientos almacenados u otro código definido por el usuario. Para obtener más información sobre cómo adjuntar bases de datos y sobre los cambios que se realizan en los metadatos al adjuntar una base de datos, vea Adjuntar y separar bases de datos (SQL Server).

Permisos

Requiere el permiso CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.

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

Usar SQL Server Management Studio

Para adjuntar una base de datos

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

  2. Haga clic con el botón secundario en Bases de datos y haga clic en Adjuntar.

  3. En el cuadro de diálogo Adjuntar bases de datos, haga clic en Agregar para especificar la base de datos que se va a adjuntar y en el cuadro de diálogo Buscar archivos de base de datos, seleccione la unidad de disco en la que se halla la base de datos y expanda el árbol de directorios para buscar y seleccionar el archivo .mdf de la base de datos; por ejemplo:

    C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf

    Nota importanteImportante

    Si intenta seleccionar una base de datos que ya ha sido adjuntada se producirá un error.

    • Bases de datos que se van a adjuntar
      Muestra información sobre las bases de datos seleccionadas.

    • <no column header>
      Muestra un icono que indica el estado de la operación de adjuntar. Los iconos posibles se indican en la descripción de Estado que encontrará más adelante.

    • Ubicación del archivo MDF
      Muestra la ruta de acceso y el nombre del archivo MDF seleccionado.

    • Nombre de la base de datos
      Muestra el nombre de la base de datos.

    • Adjuntar como
      Opcionalmente, especifica un nombre distinto con el que se debe adjuntar la base de datos.

    • Propietario
      Ofrece una lista desplegable de los posibles propietarios de base de datos desde los que opcionalmente puede seleccionarse otro propietario.

    • Estado
      Muestra el estado de la base de datos de acuerdo con la tabla siguiente.

      Icono

      Texto de estado

      Descripción

      (Sin icono)

      (Sin texto)

      La operación de adjuntar no se ha iniciado o puede estar pendiente para este objeto. Es la opción predeterminada al abrir el diálogo.

      Triángulo verde hacia la derecha

      En curso

      La operación de adjuntar se ha iniciado, pero no ha finalizado.

      Marca de verificación verde

      Correcto

      El objeto se ha adjuntado correctamente.

      Círculo rojo con una cruz blanca

      Error

      La operación de adjuntar ha detectado un error y no ha finalizado correctamente.

      Círculo con dos cuadrantes negros (a la izquierda y la derecha) y dos cuadrantes blancos (en la parte superior e inferior)

      Detenido

      La operación de adjuntar no ha finalizado correctamente porque el usuario la ha detenido.

      Círculo con una flecha curvada que apunta hacia la izquierda

      Revertido

      La operación de adjuntar se ha ejecutado correctamente, pero se ha revertido debido a un error al adjuntar otro objeto.

    • Mensaje
      Muestra un mensaje en blanco o un hipervínculo que indica "Archivo no encontrado".

    • Agregar
      Busca los archivos de base de datos principales necesarios. Si el usuario selecciona un archivo .mdf, la información pertinente se llena automáticamente en los respectivos campos de la cuadrícula Bases de datos que se van a adjuntar.

    • Quitar
      Quita el archivo seleccionado de la cuadrícula Bases de datos que se van a adjuntar.

    • " <database_name> " detalles de la base de datos
      Muestra los nombres de los archivos que se van a adjuntar. Para comprobar o cambiar el nombre de la ruta de acceso de un archivo, haga clic en el botón Examinar ().

      [!NOTA]

      Si un archivo no existe, la columna Mensaje muestra "No se encontró". Si un archivo de registro no se encuentra, indica que se halla en otro directorio o que se ha eliminado. En tal caso, debe actualizar la ruta de acceso del archivo en la cuadrícula Detalles de la base de datos para que señale la ubicación correcta o eliminar el archivo de registro de la cuadrícula. Si un archivo de datos .ndf no se encuentra, debe actualizar su ruta de acceso en la cuadrícula para que señale la ubicación correcta.

    • Nombre del archivo original
      Muestra el nombre del archivo adjunto que pertenece a la base de datos.

    • Tipo de archivo
      Indica el tipo de archivo, que puede ser de datos o de registro.

    • Ruta de acceso del archivo actual
      Muestra la ruta de acceso del archivo de base de datos seleccionado. La ruta de acceso puede modificarse manualmente.

    • Mensaje
      Muestra un mensaje en blanco o un hipervínculo que indica "Archivo no encontrado".

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

Usar Transact-SQL

Para adjuntar una base de datos

  1. Conéctese al Motor de base de datos.

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

  3. Use la instrucción CREATE DATABASE con la cláusula FOR ATTACH.

    Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se adjuntan los archivos de la base de datos AdventureWorks2012 y se cambia el nombre de la base de datos a MyAdventureWorks.

    CREATE DATABASE MyAdventureWorks 
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), 
        (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') 
        FOR ATTACH; 
    

    [!NOTA]

    También puede usar el procedimiento almacenado sp_attach_db o sp_attach_single_file_db. Sin embargo, estos procedimientos almacenados se quitarán en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Se recomienda usar CREATE DATABASE … FOR ATTACH en su lugar.

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

Seguimiento: Después de actualizar una base de datos de SQL Server

Después de actualizar una base de datos mediante el método de adjuntarla, la base de datos queda disponible inmediatamente y se actualiza automáticamente. Si la base de datos tiene índices de texto completo, el proceso de actualización los importa, los restablece o los vuelve a generar, en función del valor de la propiedad del servidor Opción de actualización de texto completo. Si la opción de actualización se establece en Importar o en Volver a generar, los índices de texto completo no estarán disponibles durante la actualización. Dependiendo de la cantidad de datos que se indicen, la importación puede requerir varias horas y volver a generar puede requerir hasta diez veces más. Observe también que cuando la opción de actualización se establece en Importar, si no se dispone de un catálogo de texto completo, se vuelven a generar los índices de texto completo asociados.

Si el nivel de compatibilidad de una base de datos de usuario era 90 o 100 antes de la actualización, permanece igual después de la misma. Si el nivel de compatibilidad era igual o inferior a 80 antes de la actualización, en la base de datos actualizada, el nivel de compatibilidad se establece en 90, que es el nivel de compatibilidad mínimo admitido en SQL Server 2012. Para obtener más información, vea Nivel de compatibilidad de ALTER DATABASE (Transact-SQL).

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

Vea también

Referencia

CREATE DATABASE (Transact-SQL)

Conceptos

Separar una base de datos