Cómo adjuntar un archivo de base de datos a SQL Server Express

Se puede adjuntar un archivo de base de datos a una instancia de SQL Server 2005 Express Edition (SQL Server Express) mediante la herramienta sqlcmd. Por ejemplo, si existen archivos de base de datos de una instalación anterior de SQL Server Express, dichos archivos se pueden adjuntar a la nueva instalación de SQL Server Express. Asimismo, si desea restaurar una base de datos dañada desde una copia de seguridad, puede adjuntar el archivo de base de datos del que se ha realizado la copia de seguridad.

Nota de seguridadNota de seguridad

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. Para usar una base de datos desde un origen desconocido o que no sea de confianza, ejecute DBCC CHECKDB en la base de datos de 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.

Para adjuntar un archivo de base de datos

  1. Abra el símbolo del sistema en el servidor.

  2. Desde el símbolo del sistema, conéctese a una instancia de SQL Server utilizando el siguiente comando sqlcmd:

    sqlcmd -S Server\Instance
    

    donde Server es el nombre del equipo e Instance es el nombre de la instancia.

  3. Al conectarse, escriba los siguientes comandos:

    USE [master]
    GO
    CREATE DATABASE [database_name] ON 
    ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
    ( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
     FOR ATTACH ;
    GO
    

    database_name es el nombre de la base de datos que se quiere adjuntar, FileName es la ruta de acceso y el nombre del archivo de base de datos y del archivo de registro, y FOR ATTACH especifica que la base de datos se ha creado adjuntando un conjunto existente de archivos del sistema operativo.

  4. Para comprobar que se ha adjuntado la base de datos, escriba los dos comandos siguientes:

    select name from sys.databases
    go
    
  5. La herramienta sqlcmd muestra los nombres de todas las bases de datos adjuntadas a esta instancia de SQL Server Express. En la lista debería aparecer el nombre de base de datos proporcionado en el paso 3.

[!NOTA]

Para obtener más información sobre cómo adjuntar una base de datos, vea Separar y adjuntar bases de datos y CREATE DATABASE (Transact-SQL) en los Libros en línea de SQL Server.