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

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

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.

ProprietÓ

Identificativo articolo: 907511 - Ultima modifica: martedý 16 luglio 2013 - Revisione: 1.1
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi:á
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtit
Traduzione automatica articoli
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
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