Truncamiento del registro de transacciones y reducción del archivo de registro para SQL Server

Acronis Backup & Recovery 11.5 no trunca los registros de transacción después de crear una copia de seguridad del disco. Si no utiliza el motor nativo de copia de seguridad de Microsoft SQL Server o cualquier solución de copia de seguridad de terceros que administre automáticamente registros de transacciones, puede administrar los registros utilizando los siguientes métodos.

Truncamiento de registros mediante SQL Server Management Studio

Al cambiar una base de datos a un modelo de recuperación simple, los registros de transacciones se truncan automáticamente.

  1. Para cambiar la base de datos al modelo de recuperación simple:
    1. Ejecute Microsoft SQL Server Management Studio y conéctese a la instancia.
    2. Haga clic con el botón derecho en la base de datos y después haga clic en Propiedades. Esta acción abrirá el cuadro de diálogo Propiedades de la base de datos.
    3. En el panel Seleccionar página, haga clic en Opciones.
    4. En el cuadro de lista Modelo de recuperación, seleccione la lista de modelo Simple.
  2. Los archivos del registro de transacciones se truncarán automáticamente.
  3. Regrese la base de datos al modelo de recuperación completo o registrado de forma masiva de la misma manera que en el paso 1.
Truncamiento y reducción de registros automatizado 

Puede automatizar el procedimiento de truncamiento anterior al utilizar un script y (opcionalmente) agregar la reducción de los archivos de registro. Si agrega el script al Comando posterior a la copia de seguridad, los registros se truncarán y reducirán inmediatamente después de realizar la copia de seguridad. Este método asume que usted posee las habilidades de programación de script de Transact-SQL y está familiarizado con la utilidad sqlcmd.

Para obtener más información sobre Transact-SQL y sqlcmd consulte los siguientes artículos:

Automatizar el truncamiento y la reducción del registro de transacciones para una instancia de SQL

  1. Mediante el uso de la siguiente plantilla, cree un script que truncará y reducirá los archivos de registro de las bases de datos de la instancia:

    USE database_name
    ALTER DATABASE basededatos_nombre SET RECOVERY SIMPLE;
    DBCC SHRINKFILE(archivoderegistro_nombre);
    ALTER DATABASE basededatos_nombre SET RECOVERY FULL;

    En la última cadena de comandos, el valor SET RECOVERY depende del modelo de recuperación original de una base de datos particular y podría ser FULL o BULK_LOGGED.

    Ejemplo para una instancia que tiene dos bases de datos (TestDB1 y TestDB2):

    USE TestDB1;
    ALTER DATABASE TestDB1 SET RECOVERY SIMPLE;
    DBCC SHRINKFILE(TestDB1_log);
    ALTER DATABASE TestDB1 SET RECOVERY FULL;

    USE TestDB2;
    ALTER DATABASE TestDB2 SET RECOVERY SIMPLE;
    DBCC SHRINKFILE(TestDB2_log);
    ALTER DATABASE TestDB2 SET RECOVERY BULK_LOGGED;

  2. Agregue el siguiente comando sqlcmd al Comando posterior a la copia de seguridad:

    sqlcmd -S miServidor\nombreInstancia -i C:\myScript.sql

    Donde:

Automatizar el truncamiento y la reducción del registro de transacciones para varias instancias de SQL

Si posee más de una instancia en el equipo y quiere aplicar el procedimiento anterior a estas instancias, proceda como se indica a continuación.

  1. Cree un archivo de script para cada instancia (por ejemplo: C:\script1.sql y C:\script2.sql).
  2. Cree un archivo de procesos por lotes (por ejemplo: C:\truncate.bat) que contendrá los comandos para la instancia correspondiente:

    sqlcmd -S myServer\instance1 -i C:\script1.sql
    sqlcmd -S myServer\instance2 -i C:\script2.sql

  3. En el comando posterior a la copia de seguridad, especifique la ruta hasta el archivo de procesos por lotes.