Copiar bases de datos con Copia de seguridad y restauración

En SQL Server 2008 R2, se puede crear una base de datos nueva restaurando una copia de seguridad de una base de datos que se creó con SQL Server 2000, SQL Server 2005, SQL Server 2008 o SQL Server 2008 R2. Sin embargo, las copias de seguridad de las bases de datos maestra, modelo y msdb creadas mediante SQL Server 2000 o SQL Server 2005 no pueden restaurarse con SQL Server 2008 R2. Asimismo, las copias de seguridad de SQL Server 2008 R2 no se pueden restaurar con versiones anteriores de SQL Server.

El formato de las copias de seguridad de bases de datos creadas mediante SQL Server 7.0 o versiones anteriores no es compatible y, por lo tanto, estas bases de datos no pueden restaurarse en SQL Server 2008 R2. Para obtener información acerca de cómo migrar una base de datos creada mediante SQL Server 6.5 o versiones anteriores en SQL Server 2005, vea Copiar bases de datos de SQL Server 7.0 o anterior.

Nota importanteImportante

SQL Server 2008 y SQL Server 2008 R2 utilizan una ruta de acceso predeterminada distinta a la de las versiones anteriores. Por lo tanto, para restaurar una base de datos creada en la ubicación predeterminada de SQL Server 2000 o SQL Server 2005 a partir de las copias de seguridad, es preciso utilizar la opción MOVE. Para obtener información acerca de la nueva ruta de acceso predeterminada, vea Ubicaciones de archivos para las instancias predeterminadas y con nombre de SQL Server. Para obtener más información acerca de cómo mover archivos de base de datos, vea el apartado "Mover los archivos de base de datos" que figura más adelante en este tema.

Pasos generales para utilizar las funciones de copia de seguridad o restauración para copiar una base de datos

Cuando se utiliza la copia de seguridad o la restauración para copiar una base de datos a otra versión de SQL Server, los equipos de origen y de destino pueden ser de cualquier plataforma en la que se ejecute SQL Server.

Los pasos generales son:

  1. Cree una copia de seguridad de la base de datos de origen que pueda alojarse en una instancia de SQL Server 2000, SQL Server 2005, SQL Server 2008 o SQL Server 2008 R2. El equipo en el que se ejecute esta versión de SQL Server será el equipo de origen.

  2. En el equipo al que desee copiar la base de datos (el equipo de destino), conéctese a una sesión de SQL Server en la que tenga previsto restaurar la base de datos. Si es necesario, cree en la instancia de servidor de destino los mismos dispositivos de copia de seguridad utilizados para la copia de seguridad de las bases de datos de origen.

  3. Restaure la copia de seguridad de la base de datos de origen en el equipo de destino. Al restaurar la base de datos se crean automáticamente todos los archivos de la base de datos.

En los siguientes temas se abordan aspectos adicionales que pueden afectar al proceso.

Antes de restaurar los archivos de base de datos

La restauración de una base de datos crea automáticamente los archivos necesarios para la base de datos que se restaura. De forma predeterminada, los archivos que crea SQL Server durante el proceso de restauración utilizan el mismo nombre y las mismas rutas de acceso que los archivos de la base de datos original en el equipo de origen. Para evitar errores y consecuencias no deseadas, determine los archivos que se crean de forma automática al realizar la restauración antes de ejecutarla porque:

  • Es posible que los nombres de archivos ya existan en el equipo, lo que provocará un error.

  • Es posible que no haya espacio suficiente en la ubicación de destino.

  • Es posible que la estructura de directorios o asignación de unidades no exista en el equipo.

    Por ejemplo, la copia de seguridad contiene un archivo que es necesario restaurar en la unidad E:, pero el equipo de destino no contiene una unidad E:.

  • Si se pueden reemplazar los archivos de la base de datos, se sobrescriben las bases de datos y archivos existentes que tengan los mismos nombres en la copia de seguridad, a menos que dichos archivos pertenezcan a una base de datos diferente.

Nota de advertenciaAdvertencia

Tenga en cuenta que si reutiliza un nombre de base de datos y un destino existentes cuyos archivos se puedan sobrescribir, se sobrescribirán todos los archivos existentes cuyo nombre sea idéntico al de los de la copia de seguridad.

Si es preciso, se puede especificar la asignación de dispositivos, los nombres de archivo o la ruta de acceso para restaurar una base de datos.

Mover los archivos de base de datos

Si no se puede restaurar los archivos de la copia de seguridad de la base de datos en el equipo de destino debido a las razones mencionadas anteriormente, es necesario mover los archivos a una nueva ubicación a medida que se restauran. Por ejemplo:

  • Suponga que desea restaurar una base de datos a partir de las copias de seguridad creadas en la ubicación predeterminada de SQL Server 2000 o SQL Server 2005.

  • Puede ser necesario restaurar algunos archivos de la base de datos de la copia de seguridad en una unidad diferente debido a consideraciones de capacidad. Probablemente se trate de un hecho frecuente, porque la mayor parte de los equipos de una organización no tienen el mismo número y tamaño de unidades de disco o idénticas configuraciones de software.

  • Puede ser necesario crear una copia de una base de datos existente en el mismo equipo para realizar pruebas. En este caso, los archivos de la base de datos original ya existen, por lo que se necesita especificar diferentes nombres de archivo al crear la copia de la base de datos durante la operación de restauración.

Para obtener más información, vea el apartado "Para restaurar archivos y grupos de archivos en una nueva ubicación" que figura más adelante en este mismo tema.

Cambiar el nombre de la base de datos

Se puede cambiar el nombre de la base de datos cuando se restaura en el equipo de destino, sin necesidad de restaurar primero la base de datos y después cambiar manualmente el nombre. Por ejemplo, es posible que sea necesario cambiar el nombre de la base de datos de Sales a SalesCopy para indicar que se trata de una copia de la base de datos.

El nombre de base de datos que se proporciona explícitamente al restaurar una base de datos se utiliza de forma automática como el nuevo nombre de la base de datos. Debido a que el nombre de la base de datos no existe, se crea uno nuevo con los archivos de la copia de seguridad.

Actualizar una base de datos utilizando la restauración

Al restaurar copias de seguridad de SQL Server 2000 o SQL Server 2005, es útil conocer de antemano si la ruta de acceso (unidad y directorio) de cada uno de los catálogos de texto completo de una copia de seguridad existe en el equipo de destino. Para obtener una lista de los nombres lógicos y físicos, la ruta y el nombre de archivo de todos los archivos de una copia de seguridad, incluidos los archivos de catálogo, utilice una instrucción RESTORE FILELISTONLY FROM <backup_device>. Para obtener más información, vea RESTORE FILELISTONLY (Transact-SQL).

Si no existe la misma ruta de acceso en el equipo de destino, son dos las alternativas válidas:

  • Cree la asignación de unidades/directorios equivalente en el equipo de destino.

  • Mueva los archivos de catálogo a una ubicación nueva durante la operación de restauración con la cláusula WITH MOVE de la instrucción RESTORE DATABASE. Para obtener más información, vea RESTORE (Transact-SQL).

Para obtener información sobre las opciones alternativas para actualizar índices de texto completo, vea Actualización de la búsqueda de texto completo.

Propiedad de la base de datos

Cuando se restaura una base de datos en otro equipo, el inicio de sesión de SQL Server o el usuario de Microsoft Windows que inicia la operación de restauración se convierte automáticamente en el propietario de la nueva base de datos. Una vez restaurada la base de datos, el administrador del sistema o el nuevo propietario de la base de datos pueden cambiar la propiedad de la base de datos. Para evitar restauraciones no autorizadas de una base de datos, utilice contraseñas en los medios o en el conjunto de copia de seguridad. Para obtener más información, vea Consideraciones de seguridad para copias de seguridad y restauración.

Administrar metadatos al restaurar una base de datos en otra instancia de servidor

Al restaurar una base de datos en otra instancia de servidor, para proporcionar una experiencia coherente a los usuarios y las aplicaciones, puede que tenga que volver a crear algunos o todos los metadatos de la base de datos, por ejemplo los inicios de sesión y los trabajos, en la otra instancia de servidor. Para obtener más información, vea Administrar los metadatos cuando una base de datos pasa a estar disponible en otra instancia de servidor.

Para ver los archivos de datos y de registro en un conjunto de copia de seguridad

Para restaurar archivos y grupos de archivos en una nueva ubicación

Para restaurar archivos y grupos de archivos sobre archivos existentes

Para restaurar archivos y grupos de archivos en una nueva ubicación

Restaurar una base de datos con un nuevo nombre

Reiniciar una operación de restauración interrumpida

Para cambiar el propietario de una base de datos

Para copiar una base de datos mediante los objetos de administración de SQL Server (SMO)