Al momento sei offline in attesa che la connessione Internet venga ristabilita

Come compattare i file di registro delle transazioni in SQL Server 2005

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 907511
Sommario
Microsoft SQL Server 2005, è possibile compattare un file di registro delle transazioni in un database per rimuovere le pagine inutilizzate. Riutilizza il motore di database lo spazio in modo efficace. Tuttavia, quando un file di registro delle transazioni aumenta in modo imprevisto, è possibile Per compattare manualmente il file di registro delle transazioni.

In questo articolo viene descritto come utilizzare il Istruzione DBCC SHRINKFILE per compattare il file di registro delle transazioni manualmente sotto il modello di recupero completo in un database di SQL Server 2005. Il metodo da utilizzare per compattare il file di registro delle transazioni in SQL Server 2005 può essere diverso dal metodo che consente di compattare il file di registro delle transazioni in SQL Server 2000. Per ulteriori informazioni su come compattare il file di registro delle transazioni in SQL Server 2000, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
272318Compattazione del log delle transazioni in SQL Server 2000 con DBCC SHRINKFILE
Informazioni
In SQL Server 2005, un'operazione di compattazione (DBCC SHRINKFILE) tenta di compattare il file di registro specificato immediatamente le dimensioni richieste. Per compattare il file di registro delle transazioni manualmente nel modello di recupero completo, eseguire il file di registro delle transazioni. Quindi, utilizzare il Istruzione DBCC SHRINKFILE per compattare il file di registro delle transazioni.

In genere, la compattazione del file di registro delle transazioni in SQL Server 2005 è più veloce di compattazione del file di registro delle transazioni in SQL Server 2000. Il motivo è che il SQL Gestore del Registro Server 2005 crea o Riutilizza file di log virtuali inattivi da seguendo l'ordine di archiviazione del disco fisico. Pertanto, la parte inattiva della transazione file di registro è in genere alla fine del file.

Ad esempio, il file di registro potrebbe essere 100 file di log virtuali e vengono utilizzati solo due file di log virtuali. SQL Server 2000 possono memorizzare il file di registro virtuali utilizzati primo nel avviare il file di registro delle transazioni e il secondo file di log virtuali utilizzati all'interno del file registro delle transazioni. Per compattare il file di registro delle transazioni a solo due file di log virtuali, SQL Server riempie la parte rimanente del secondo file registro virtuali utilizzando log fittizie voci. SQL Server sposta l'inizio del log logico per il successivo disponibili file di log virtuale specificato dal gestore del registro. Il gestore del registro può creare un file di log virtuali all'interno del file di registro delle transazioni immediatamente prima del ultimo virtual file log attivo. In tal caso, è necessario utilizzare più operazioni di backup del log e più operazioni di compattazione per compattare correttamente il file di registro delle transazioni a 2 file di log virtuali. Nel caso peggiore di questo esempio, potrebbe essere necessario utilizzare 50 operazioni di backup del log e compattazione 50 operazioni di compattazione correttamente il file di registro delle transazioni a due file log virtuali.

Tuttavia, in SQL Server 2005, è possibile eseguire un'istruzione DBCC SHRINKFILE per compattare il file di registro delle transazioni immediatamente a 2 file di log virtuali. Per farlo perché il gestore del Registro di SQL Server 2005 crea 2 file di log virtuali seguendo l'ordine di archiviazione del disco fisico. Entrambi i file di log virtuali posizionati all'inizio del file di registro delle transazioni.

Quando si tenta di compattare un file di registro delle transazioni che dispone di poco spazio disponibile in SQL Server 2005, potrebbe essere necessario eseguire un'operazione di backup di registro aggiuntive. L'operazione di backup del Registro di aggiuntivo tronca il file di registro a una dimensione inferiore. L'operazione di backup del log è oltre i tre passaggi da eseguire per compattare il file di registro delle transazioni in SQL Server 2000. Per ulteriori informazioni, vedere l'articolo della Microsoft Knowledge Base menzionato nella sezione "Sommario". Per compattare un file di registro delle transazioni che dispone di poco spazio disponibile in SQL Server 2005, attenersi alla seguente procedura:
  1. Eseguire il backup dei file di registro delle transazioni per rendere inattiva la maggior parte dei file di log virtuale attivo. Pertanto, è possibile rimuovere file di log virtuali inattivi in un passaggio successivo. Per effettuare questa operazione, avviare SQL Server Management Studio e quindi eseguire un'istruzione Transact-SQL analogo la seguente istruzione Transact-SQL.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Nota In questa istruzione <DatabaseName></DatabaseName>è un segnaposto per il nome del database di backup, e <BackupFile></BackupFile> è un segnaposto per il percorso completo del file di backup.

    Ad esempio, eseguire la seguente istruzione Transact-SQL.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Compattare il file di registro delle transazioni. A tale scopo, eseguire un'istruzione Transact-SQL analogo la seguente istruzione Transact-SQL.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Nota In questa istruzione <FileName></FileName>è un segnaposto per il nome del file di registro delle transazioni, e <TargetSize></TargetSize> è un segnaposto per le dimensioni di destinazione che si desidera che il file di registro delle transazioni sia. La dimensione di destinazione deve essere ragionevole. Ad esempio, è possibile compattare il file di registro a una dimensione inferiore a 2 file di log virtuali.
  3. Se l'istruzione DBCC SHRINKFILE non compatta il file di registro delle transazioni per il dimensione di destinazione, eseguire l'istruzione BACKUP LOG menzionato nel passaggio 1 per rendere più i file di log virtuali inattivi.
  4. Eseguire l'istruzione DBCC SHRINKFILE citato nel passaggio 2. Dopo questa operazione, il file di registro delle transazioni dovrebbe essere approssimativamente alle dimensioni di destinazione.
In sintesi, algoritmo del gestore del registro per ottenere il successivo file di log virtuale modificato in SQL Server 2005. Di conseguenza, compattazione dei file di registro delle transazioni in SQL Server 2005 può differire dalla compattazione dei file di registro delle transazioni in SQL Server 2000.
  • Se un file di registro ha grandi quantità di spazio libero, compattazione dei file di registro delle transazioni in SQL Server 2005 è più veloce rispetto a compattare il file di registro delle transazioni in SQL Server 2000.
  • Se un file di registro dispone di spazio libero, compattazione dei file di registro delle transazioni in SQL Server 2005 è identico a compattare il file di registro delle transazioni in SQL Server 2000.
  • Se un file di registro ha poco spazio libero, potrebbe essere necessario eseguire un backup di registro aggiuntive operazione in SQL Server 2005 rispetto a è necessario eseguire in SQL Server 2000.
Riferimenti
Per ulteriori informazioni sulla compattazione del log delle transazioni, visitare il Compattazione del Log delle transazioni Sito Web Microsoft Developer Network (MSDN).

Per ulteriori informazioni sull'istruzione DBCC SHRINKFILE, visitare il Istruzione DBCC SHRINKFILE (Transact-SQL) Sito Web MSDN.

Per ulteriori informazioni sul troncamento del log delle transazioni, visitare il Troncamento del Log delle transazioni Sito Web MSDN.
T-LOG

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 907511 - Ultima revisione: 07/16/2013 01:57:00 - Revisione: 1.1

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtit
Feedback
html>m);