Validar la integridad de la copia de seguridad mediante la API de CHKSGFILES en Exchange 2013Validate backup integrity by using the CHKSGFILES API in Exchange 2013

Descubra cómo usar la API CHKSGFILES para validar una copia de seguridad del almacén de Exchange en Exchange 2013.Find out how to use the CHKSGFILES API to validate a backup of the Exchange store in Exchange 2013.

Se aplica a: Exchange Server 2013Applies to: Exchange Server 2013

Durante las operaciones de copia de seguridad administradas por el servicio de instantáneas de volumen (VSS), Exchange Server 2013 no puede leer cada archivo de base de datos en su totalidad y comprobar su integridad de suma de comprobación.During backup operations managed by the Volume Shadow Copy Service (VSS), Exchange Server 2013 cannot read each database file in its entirety and verify its checksum integrity. Por lo tanto, es posible que desee que la aplicación de copia de seguridad Compruebe la integridad del archivo de registro de transacciones y bases de datos.Therefore, you might want your backup application to verify database and transaction log file integrity. Se recomienda que la aplicación de copia de seguridad Compruebe la coherencia física del conjunto de instantáneas antes de informar al escritor de Exchange de que se ha completado la copia de seguridad.We recommend that your backup application verify the physical consistency of the shadow copy set prior to informing the Exchange writer that the backup is complete. Después de una copia de seguridad correcta, el almacén de Exchange actualiza los encabezados de las bases de datos de copia de seguridad para reflejar los últimos tiempos de copia de seguridad correcta y quita los registros de transacciones del servidor que ya no son necesarios para revertir desde la última copia de seguridad correcta.After a successful backup, the Exchange store updates the headers of the backed-up databases to reflect the last successful backup times and removes transaction logs from the server that are no longer required to roll forward from the last successful backup.

Requisitos previos para validar la integridad de la copia de seguridadPrerequisites for validating backup integrity

Para que la aplicación pueda validar la integridad de la copia de seguridad, debe tener acceso a lo siguiente:Before your application can validate the integrity of your backup, you must have access to the following:

  • Archivos de la copia de seguridad del almacén de Exchange.Files from your Exchange store backup.
  • Una versión de Visual Studio a partir de Visual Studio 2010.A version of Visual Studio starting with Visual Studio 2010.
  • La biblioteca CHKSGFILES y los archivos de encabezado.The CHKSGFILES library and header files. Puede descargar los archivos de la biblioteca y los encabezados desde el centro de descarga de Microsoft.You can download the library and header files from the Microsoft Download Center.

Validar la integridad de la copia de seguridadValidate backup integrity

El siguiente procedimiento describe cómo validar la integridad de los datos en la aplicación de copia de seguridad y restauración.The following procedure describes how to validate data integrity in your backup and restore application.

Para validar la integridad de la copia de seguridadTo validate backup integrity

  1. Cree una nueva instancia de la clase función cchksgfiles .Create a new instance of the CChkSGFiles class.

    CCheckSGFiles::ERRerr = CCheckSGFiles::errSuccess;
    ULONGiDbError = (ULONG)CCheckSGFiles::iDbInvalid;
    CCheckSGFiles * const pcchecksgfiles = CCheckSGFiles::New();
    if ( NULL == pcchecksgfiles )
    {
      err = CCheckSGFiles::errOutOfMemory;
      printf( "ERROR: Could not allocate CCheckSGFiles object.\n" );
      goto HandleError;
    }
    

    En las primeras líneas de código se crea un objeto error y se establece su valor inicial en correcto, y se crea un objeto que comprueba la validez de la base de datos.The first lines of code create an error object and set its initial value to success, and create an object that checks the validity of the database. A continuación, la función función cchksgfiles. New crea una nueva instancia de la clase función cchksgfilesThen, the CChkSGFiles.New function creates a new instance of the CChkSGFiles class. Una comprobación rápida del nuevo objeto indica si se produjeron problemas al crear la nueva instancia.A quick check of the new object indicates whether any issues occurred when the new instance was created.

  2. Inicialice el objeto función cchksgfiles .Initialize the CChkSGFiles object.

    Call( pcchecksgfiles->ErrInit(
    rgwszDb,
    cDb,
    wszLogPath,
    wszBaseName ) );
    

    Para obtener más información acerca de los parámetros, consulte función función cchksgfiles. ErrInit.For more information about the parameters, see CChkSGFiles.ErrInit function.

  3. Use la función función cchksgfiles. ErrCheckDbHeaders para validar la integridad de la base de datos comprobando los encabezados de la base de datos.Use the CChkSGFiles.ErrCheckDbHeaders function to validate database integrity by checking the database headers.

    err = pcchecksgfiles->ErrCheckDbHeaders(
    &cbDbPageSize,
    &cDbHeaderPages,
    &iDbError );
    if ( CCheckSGFiles::errSuccess != err )
    {
    if ( CCheckSGFiles::iDbInvalid != iDbError )
    {
    printf(
    "ERROR: Database header validation for '%S' failed with error %d (0x%x)\n",
    rgwszDb[ iDbError ],
    err,
    err );
    }
    goto HandleError;
    }
    

    Para obtener más información acerca de los parámetros, consulte función función cchksgfiles. ErrCheckDbHeaders.For more information about the parameters, see CChkSGFiles.ErrCheckDbHeaders function.

  4. Controle los errores y use la función función cchksgfiles. Delete para quitar la clase función cchksgfiles de la memoria.Handle errors, and use the CChkSGFiles.Delete function to remove the CChkSGFiles class from memory.

    HandleError:
    CCheckSGFiles::Delete( pcchecksgfiles );  
    

Vea tambiénSee also