SQL Server registra una operación de copia de seguridad en la tabla de historial backupset al utilizar VSS para realizar copias de seguridad de archivos en un volumen

Síntomas

Considere el siguiente escenario. Instalar a Microsoft SQL Server en un volumen. Utilice una aplicación de Volume Shadow Copy Service (VSS) para hacer copia de seguridad de archivos en el volumen. En este escenario, SQL Server registra una operación de copia de seguridad en la tabla de historial backupset. Este problema se produce incluso si se realmente copia los archivos de base de datos de SQL Server.

Nota: La utilidad NTBackup.exe es una aplicación de VSS.

Causa

Este problema se produce porque llama a VSS del servicio SQLWriter o el escritor de Microsoft SQL Server Desktop Engine (MSDE).

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Descripción del escritor MSDE y el servicio SQLWriter

El escritor MSDE se incluye en el marco VSS en Windows XP y en Windows Server 2003. VSS utiliza el escritor MSDE para hacer copia de seguridad de las bases de datos de SQL Server 2000. El servicio SQLWriter se instala al instalar SQL Server 2005. VSS utiliza el servicio SQLWriter para hacer backup de bases de datos de SQL Server 2005 y bases de datos de SQL Server 2000.

Cómo VSS realiza una operación de copia de seguridad

Cuando VSS realiza una operación de copia de seguridad en un volumen, VSS llama a todos los escritores que tienen datos en el volumen. Esto garantiza que la copia de seguridad es válido. Cuando llama a VSS del servicio SQLWriter o el escritor MSDE, el servicio SQLWriter o el escritor MSDE, inserta un registro en la tabla de historial backupset. Este registro muestra que se ha realizado una operación de copia de seguridad. Sin embargo, el servicio SQLWriter o el escritor MSDE no puede determinar si los archivos de copia de seguridad VSS son archivos de base de datos.

Precauciones a tomar si utiliza las entradas en la tabla de historial backupset para la recuperación de datos

Si desea utilizar las entradas en la tabla de historial backupset para la recuperación de datos, debe comprobar que las entradas representan las operaciones de backup de base de datos real.

Cómo comprobar que una entrada representa una operación de copia de seguridad de base de datos real

Para ello, ejecute la siguiente instrucción:
USE msdbGO

SELECT server_name, database_name, backup_start_date, is_snapshot, database_backup_lsn
FROM backupset
En el resultado, observe la columna database_backup_lsn y la columna is_snapshot. Una entrada que representa una operación de copia de seguridad de base de datos real tiene las siguientes características:
  • El valor de la columna database_backup_lsn no es 0.
  • El valor de la columna is_snapshot es 0.

Compruebe que el conjunto de copia de seguridad no tiene errores

Para ello, ejecute la siguiente instrucción:

WITH backupInfo AS( SELECT database_name AS [DatabaseName], name AS [BackupName], is_damaged AS [BackupStatus],
backup_start_date AS [backupDate],
ROW_NUMBER() OVER(PARTITION BY database_name
ORDER BY backup_start_date DESC) AS BackupIDForDB
FROM msdb..backupset) SELECT DatabaseName
FROM backupinfo WHERE BackupIDForDB = 1 and BackupStatus=1


Si la esta consulta devuelve los resultados, significa que no tiene copias de seguridad de bases de datos después de la fecha del informe. Se recomienda encarecidamente
realizar una copia de seguridad completa de la base de datos tan pronto como sea posible y compruebe que la copia de seguridad completa de la base de datos está limpio.

La propiedad is_damaged
La tabla backupset en la base de datos msdb contiene una fila por cada conjunto de copia de seguridad. La propiedad is_damaged de la tabla backupset indica si se ha detectado daños en la base de datos cuando se creó la copia de seguridad. Por lo tanto, la copia de seguridad puede estar dañado y no restaurable.

Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
Asesor de System CenterBackupset de base de datos de SQL Server está marcada como dañadaEn este SQL Server el Asesor de instancia ha detectado la presencia de uno o más backupset marcados como "dañados" en la base de datos MSDB. Esto significa que está dañado el archivo de copia de seguridad y se expone básicamente la base de datos y la copia de seguridad potencialmente no restaurable. Revise la sección de información recopilada y asegurarse de que una copia de seguridad buena posterior está disponible para la base de datos en cuestión. Consulte el artículo KB para obtener más detalles.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012


Referencias

Para obtener más información sobre el servicio del escritor SQL, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
Para obtener más información acerca de la tabla de historial backupset, visite el siguiente sitio Web de MSDN:
Propiedades

Id. de artículo: 951288 - Última revisión: 14 ene. 2017 - Revisión: 1

Comentarios