Identificativo articolo: 873235 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

INTRODUZIONE

In questo articolo viene descritta la procedura da seguire quando la dimensione dei registri delle transazioni diventa eccessiva. ╚ possibile che i registri delle transazioni pieni rendano inutilizzabile il database di Microsoft SQL Server. In questo articolo viene descritto come troncare e compattare i registri delle transazioni, nonchÚ come impedirne la crescita imprevista.

Informazioni

Ridurre la dimensione dei registri delle transazioni

Per risolvere un problema nel caso in cui i registri delle transazioni siano pieni, Ŕ necessario ridurre la dimensione dei registri delle transazioni, troncando le transazioni inattive nel registro delle transazioni e compattando la dimensione del file di registro.

Nota I registri delle transazioni svolgono un ruolo estremamente importante al fine di mantenere l'integritÓ delle transazioni del database, pertanto non eliminarli mai, nemmeno dopo avere eseguito il backup del database e dei registri delle transazioni.


Per ulteriori informazioni sulla riduzione della dimensione del registro delle transazioni, visitare il seguente sito Web Microsoft:
Compattazione del registro delle transazioni in SQL Server 2000
Compattazione del registro delle transazioni in SQL Server 2005

Troncare le transazioni inattive nel registro delle transazioni

Quando i registri delle transazioni sono piene, Ŕ necessario eseguire immediatamente il backup dei file di registro delle transazioni, operazione nel corso della quale viene troncata automaticamente la parte inattiva del registro delle transazioni in cui sono contenute le transazioni completate e che pertanto non verrÓ utilizzata da SQL Server nel corso di un eventuale processo di ripristino. Lo spazio troncato, ovvero inattivo, del registro delle transazioni verrÓ cosý riutilizzato, evitando la crescita ulteriore del file di registro e l'occupazione di ulteriore spazio su disco.

Per ulteriori informazioni sugli aspetti da considerare in fase di esecuzione e di ripristino del backup dei registri delle transazioni, vedere i seguenti argomenti nella documentazione in linea di SQL Server:
  • Backup del registro delle transazioni
  • Backup e ripristino del registro delle transazioni
╚ anche possibile eliminare le transazioni inattive da un file di registro delle transazioni utilizzando il metodo Truncate. Per ulteriori informazioni, vedere l'argomento relativo al troncamento del registro delle transazioni nella documentazione in linea di SQL Server.

Importante Una volta troncati manualmente i file di registro delle transazioni Ŕ necessario creare una copia di backup completa del database prima di procedere al backup dei registri delle transazioni.

Per ulteriori informazioni sui problemi che possono verificarsi quando si troncano i file di registro delle transazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
62866 Motivi per cui il registro delle transazioni di SQL non viene troncato

Compattare il file di registro delle transazioni

L'operazione di backup o il metodo Truncate non riduce la dimensione del file di registro delle transazioni. Per ridurre la dimensione del file di registro delle transazioni, Ŕ necessario compattare il file di registro riportandolo alla dimensione richiesta e rimuovere le pagine inutilizzate. Per effettuare questa operazione Ŕ necessario utilizzare l'operazione DBCC SHRINKFILE. L'istruzione Transact-SQL DBCC SHRINKFILE consente di compattare solo la parte inattiva del file di registro.

Nota L'istruzione Transact-SQL DBCC SHRINKFILE non Ŕ in grado di troncare il registro e di compattare lo spazio utilizzato del file di registro.

Per ulteriori informazioni sulla compattazione dei file di registro delle transazioni, vedere i seguenti argomenti della documentazione in linea di SQL Server:
  • Compattazione del registro delle transazioni
  • DBCC SHRINKFILE
Per ulteriori informazioni su come compattare i file di registro delle transazioni in SQL Server 2000, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
272318 INF: Compattazione del log delle transazioni in SQL Server 2000 con DBCC SHRINKFILE
Per ulteriori informazioni sui problemi che possono verificarsi quando si compattano i file di registro delle transazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
814574 PRB: Messaggio di errore: "Impossibile compattare il file di registro ..." quando si tenta di compattare il file di registro delle transazioni
324432 PRB: I comandi DBCC SHRINKFILE e SHRINKDATABASE potrebbero non funzionare a causa di colonne text, ntext o image compilate parzialmente

Impedire la crescita imprevista dei file di registro delle transazioni

Per impedire la crescita imprevista dei file di registro delle transazioni, utilizzare uno dei seguenti metodi descritti di seguito:
  • Impostare la dimensione dei file di registro delle transazioni su un valore sufficientemente elevato da evitare l'espansione automatica dei file di registro.
  • Configurare l'espansione automatica dei file di registro delle transazioni in termini di unitÓ di memoria anzichÚ di percentuale, dopo avere valutato accuratamente la dimensione ottimale della memoria.

    Per ulteriori informazioni sugli aspetti da considerare quando si configura l'opzione di aumento automatico, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    315512 INF: Considerazioni sulla configurazione di aumento e compattazione automatici
  • Cambiare il modello di ripristino. Se si verifica una situazione di emergenza oppure i dati vengono danneggiati, Ŕ necessario ripristinare il database in modo da mantenere la coerenza e l'integritÓ delle transazioni del database. A seconda del grado di importanza dei dati presenti nel database Ŕ anche possibile utilizzare uno dei modelli di recupero descritti di seguito per determinare la modalitÓ di backup dei dati e il grado di esposizione al rischio di una perdita dei dati:
    • Modello di recupero semplice
    • Modello di recupero completo
    • Modello di recupero con registrazione di massa
    Il modello di recupero semplice consente di ripristinare la copia di backup pi¨ recente del database, mentre utilizzando il modello di recupero completo o quello con registrazione di massa Ŕ possibile ripristinare il database allo stato precedente al verificarsi del problema attraverso il ripristino dei backup dei file di registro delle transazioni.

    Per impostazione predefinita, in SQL Server 2000 e in SQL Server 2005 il modello di recupero di un database SQL Server Ŕ impostato su Completo. Il modello di recupero completo prevede l'utilizzo dei backup regolari del registro delle transazioni al fine di impedire una crescita sproporzionata della dimensione del file di registro delle transazioni rispetto alla dimensione del database. Tuttavia, se non sono stati effettuati backup regolari del registro delle transazioni, il file di registro aumenterÓ fino a occupare tutto lo spazio disponibile su disco e fino a impedire qualsiasi operazione di modifica dei dati presenti nel database SQL Server.

    ╚ tuttavia possibile cambiare il modello di recupero da completo a semplice, se non si desidera utilizzare i file di registro delle transazioni in caso di ripristino d'emergenza.
  • Eseguire regolarmente il backup dei file di registro delle transazioni per eliminare le transazioni inattive presenti nel registro.
  • Progettare transazioni di dimensioni contenute.
  • Assicurarsi che nessuna transazione non vincolata continui a essere eseguita a tempo indefinito.
  • Pianificare l'esecuzione quotidiana dell'opzione di aggiornamento delle statistiche.
  • Per deframmentare gli indici in modo da ottimizzare le prestazioni dei carichi di lavoro nel proprio ambiente di produzione, utilizzare l'istruzione Transact-SQL DBCC INDEXDEFRAG anzichÚ l'istruzione Transact-SQL DBCC DBREINDEX. Se si esegue l'istruzione DBCC DBREINDEX, il registro delle transazioni potrebbe espandersi in maniera significativa quando il database SQL Server Ŕ in modalitÓ di recupero completo. Inoltre, l'istruzione DBCC INDEXDEGRAG non mantiene a lungo i blocchi, a differenza di DBCC DBREINDEX.

    Per ulteriori informazioni sulla deframmentazione degli indici in SQL Server 2000, visitare il seguente sito Web Microsoft:
    Procedure consigliate per la deframmentazione dell'indice di Microsoft SQL Server 2000
    Se Ŕ necessario eseguire l'istruzione DBCC DBREINDEX nel corso del processo che rientra nel piano di manutenzione del database, sarÓ necessario suddividere il processo in pi¨ processi, eseguendo quindi backup frequenti dei registri delle transazioni tra l'esecuzione dei vari processi.

Ulteriori informazioni sui file di registro delle transazioni

In SQL Server 2000 e in SQL Server 2005, ogni database contiene almeno un file di dati, in cui vengono salvati fisicamente i dati e un file di registro delle transazioni, in cui vengono invece archiviate informazioni dettagliate relative a tutte le modifiche che hanno interessato il database SQL Server e alle transazioni che hanno determinato tali modifiche. PoichÚ l'integritÓ delle transazioni Ŕ fondamentale, oltre che una caratteristica intrinseca di SQL Server, non Ŕ possibile disattivare la registrazione delle informazioni relative alle transazioni.

Da un punto di vista logico, il file di registro delle transazioni Ŕ suddiviso in segmenti pi¨ piccoli, denominati file di registro virtuali. In SQL Server 2000 Ŕ possibile configurare il file di registro delle transazioni affinchÚ possa espandersi quanto richiesto. Tale espansione pu˛ essere controllata dall'utente oppure configurata per consentire al file di occupare tutto lo spazio disponibile su disco, se necessario. Qualsiasi modifica apportata da SQL Server alla dimensione del file di registro delle transazioni, ad esempio il troncamento o l'aumento dei file di registro delle transazioni, viene svolta in unitÓ di file di registro virtuali.

Se il file di registro delle transazioni corrispondente a un database SQL Server Ŕ pieno ed Ŕ stata impostata l'opzione per consentire l'espansione automatica dei file di registro delle transazioni, questi ultimi aumenteranno il numero delle unitÓ di file di registro virtuali, il che pu˛ portare talvolta a un eccessivo aumento della dimensione del file di registro delle transazioni con il conseguente esaurimento dello spazio disponibile su disco. Una volta utilizzato tutto lo spazio su disco, il file di registro non potrÓ pi¨ espandersi. Ci˛ potrebbe a sua volta giungere a impedire qualsiasi operazione di modifica dei dati nel database o indurre SQL Server a contrassegnare un database come sospetto a causa della mancanza di spazio su disco.

Per ulteriori informazioni sugli scenari che possono causare la crescita imprevista del file di registro delle transazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
317375 INF: Il log delle transazioni aumenta in modo imprevisto o diventa pieno in SQL Server

Riferimenti

Per ulteriori informazioni su come risolvere problemi relativi alla richiesta di ulteriore spazio su disco nel corso di un processo di ripristino, vedere l'argomento relativo allo spazio su disco insufficiente nella documentazione in linea di SQL Server. Per ulteriori informazioni sull'architettura del registro delle transazioni, vedere i seguenti argomenti nella documentazione in linea di SQL Server:
  • Architettura del registro delle transazioni
  • Architettura logica del registro delle transazioni
  • Architettura fisica del registro delle transazioni
Per ulteriori informazioni sui modelli di recupero di SQL Server 2000, vedere i seguenti argomenti nella documentazione in linea di SQL Server:
  • Selezione di un modello di recupero
  • Recupero semplice
  • Recupero completo
  • Recupero con registrazione di massa
  • Cambiamento del modello di recupero

ProprietÓ

Identificativo articolo: 873235 - Ultima modifica: martedý 16 luglio 2013 - Revisione: 4.2
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Chiavi:á
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com