Controlar la creación de archivos agregados durante la puesta al día

Por lo general, los cambios realizados en los archivos y grupos de archivos después de realizar una copia de seguridad completa se tratan de forma transparente. Si se agrega un archivo a una base de datos después de haber realizado la última copia de seguridad del grupo de archivos, el enfoque más sencillo para la restauración de la base de datos consiste en permitir que la restauración vuelva a crear automáticamente todos los archivos en la base de datos restaurada. Sin embargo, es posible que también se vuelvan a crear archivos de sólo lectura no dañados de forma innecesaria. En este sentido, utilizar la opción de restauración para reparar un problema conocido aislado permite optimizar el rendimiento de la función puesto que sólo se restauran los archivos en los que se manifiesta el problema.

Nota

Si restaura una copia de seguridad con archivos que SQL Server Database Engine (Motor de base de datos de SQL Server) espera que se eliminen, SQL Server Database Engine (Motor de base de datos de SQL Server) omitirá la copia de datos y las fases Poner al día para esos archivos. Para obtener información acerca de estas fases, vea Descripción de cómo funcionan la restauración y la recuperación de copias de seguridad en SQL Server.

La creación de archivos al utilizar la función de restauración depende de si se especifican archivos o páginas en la instrucción RESTORE DATABASE, como se indica a continuación:

  • Si no se especifican archivos o páginas determinados

    Es el escenario habitual. Al encontrar una entrada de registro que agrega un archivo a la base de datos, la función restaurar crea de forma automática el archivo y lo agrega al conjunto de puestas al día. El comportamiento exacto depende de si en la instrucción RESTORE DATABASE se especifica algún grupo de archivos. Si no se especifica ninguno, se crean y agregan todos los archivos nuevos al conjunto de puestas al día. Si se especifica algún grupo de archivo, se crea un archivo nuevo que se agrega al conjunto de puestas al día sólo si el archivo pertenece a un grupo de archivos especificado.

    Recomendación: para la mayoría de las restauraciones, evite enumerar los archivos específicos a fin de permitir que cualquier archivo creado mediante transacciones registradas se vuelva a crear automáticamente.

  • Si se especifican archivos o páginas determinados:

    Al incluir una lista de archivos o páginas específicos en la instrucción RESTORE DATABASE se define el conjunto exacto de puestas al día. Al listar archivos o páginas, la opción de restauración sigue las indicaciones especificadas al pie de la letra y restaura únicamente los elementos indicados.

    Se supone que los archivos no listados son correctos y que no es necesario crearlos a partir del registro. Por lo tanto, al restaurar una copia de seguridad de registros que contenga una operación de agregar archivo, debe especificar el nombre del archivo agregado en la instrucción RESTORE.

En el resto del tema se describe cómo identificar los archivos que contienen operaciones de agregar archivos y cómo asegurarse de que dichos archivos se vuelven a crear durante la secuencia de restauración.

Identificar el archivo de registro que contiene una operación de agregar archivo

Existen varias maneras de identificar los archivos de registro que incluyen operaciones de agregar archivos:

  • Puede utilizar el número LSN de creación de archivos (create_lsn). Éste está disponible en las vistas de catálogo sys.database_files y sys.master_files.

  • Puede obtener información acerca del contenido de los archivos de la copia de seguridad desde las tablas del historial de la copia de seguridad de msdb o mediante RESTORE FILELISTONLY. Para obtener más información, vea RESTORE FILELISTONLY (Transact-SQL).

Restaurar archivos o páginas sin una copia de seguridad completa

Puede especificar una lista de archivos, una lista de páginas o un grupo de archivos en un registro o restauración diferencial. Esta función permite restaurar archivos o páginas para los que no existe una copia de seguridad de base de datos completa. La restauración de un archivo o una página a partir de una copia de seguridad diferencial o de registro es una excepción a la regla, según la cual la secuencia de restauración debe empezar con una copia de seguridad completa.

La sintaxis básica para realizar la restauración a partir de una copia de seguridad diferencial de archivos es la siguiente:

RESTORE DATABASE database_name <file_filegroup_page_list> FROM <differential backup>

La sintaxis básica para realizar la restauración a partir de una copia de seguridad de registros es la siguiente:

RESTORE LOG database_name <file_filegroup_page_list> FROM <log backup>