Troncamento del registro transazioni e riduzione del file di registro per SQL Server

Acronis Backup non esegue il troncamento dei registri transazioni dopo la creazione di un backup del disco. Se non si utilizza il motore di backup nativo di Microsoft SQL Server o un'altra soluzione di backup di terze parti che gestisce automaticamente i registri transazioni, è possibile gestire i registri utilizzando i seguenti metodi.

Troncamento del registro utilizzando SQL Server Management Studio

Quando si porta un database al modello di recupero con registrazione minima, i registri transazioni vengono troncati automaticamente.

  1. Per portare il database al modello di recupero con registrazione minima:
    1. Eseguire Microsoft SQL Server Management Studio e connetterlo all'istanza.
    2. Fare clic con il pulsante destro sul database, quindi selezionare Proprietà. Questo aprirà la finestra di dialogo Proprietà database.
    3. Nel riquadro Selezione pagina, fare clic su Opzioni.
    4. Nella casella di riepilogo Modello di recupero, selezionare l'elenco del modello Semplice.
  2. I file del registro transazioni verranno troncati automaticamente.
  3. Riportare il database al modello di recupero con registrazione completa o con registrazione minima delle operazioni bulk nello stesso modo descritto nel passaggio 1.
Automazione del troncamento e della riduzione del registro 

È possibile automatizzare la procedura di troncamento precedente utilizzando uno script e (facoltativamente) aggiungendo la riduzione del file di registro. Se si aggiunge lo script al Comando post-backup, i registri verranno troncati e ridotti subito dopo un backup. Questo metodo dà per scontato che si disponga di capacità di scripting Transact-SQL e si abbia familiarità con l'utilità sqlcmd.

Per ulteriori informazioni su Transact-SQL e sqlcmd, fare riferimento ai seguenti articoli:

Per automatizzare il troncamento e la riduzione del registro transazioni per un'istanza SQL

  1. Utilizzando il seguente modello, creare uno script che eseguirà il troncamento e la riduzione dei file di registro per i database dell'istanza:

    USE database_name
    ALTER DATABASE nome_database SET RECOVERY SIMPLE;
    DBCC SHRINKFILE(nome_fileregistro);
    ALTER DATABASE nome_database SET RECOVERY FULL;

    Nell'ultima stringa, il valore SET RECOVERY dipende dal modello di recupero originale del database in particolare e potrebbe essere FULL o BULK_LOGGED.

    Esempio di un'istanza con due database (TestDB1 e 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. Aggiungere il seguente comando sqlcmd al Comando post-backup:

    sqlcmd -S serverPersonale\nomeIstanza -i C:\scriptPersonale.sql

    Dove:

Per automatizzare il troncamento e la riduzione del registro transazioni per più istanze SQL

Se si dispone di più di un'istanza sulla macchina e si desidera applicare la procedura precedente ad esse, procedere come riportato di seguito.

  1. Creare un file di script per ogni istanza (ad esempio, C:\script1.sql e C:\script2.sql).
  2. Creare un file batch (ad esempio, C:\truncate.bat) che conterrà i comandi per l'istanza corrispondente:

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

  3. Nel Comando post-backup, specificare il percorso del file batch.