SQL 2005: possiamo determinare in che misura il processo di manutenzione dell'indice di ricostruzione può far crescere i file di registro del database?


10

Su SQL Server 2005, se tutti i database sono in modalità Completa (con backup dei log delle transazioni orarie), è possibile determinare se la ricostruzione di tutti gli indici di un database può far crescere il file di registro di un database? E quanto può crescere?

Se non ci fosse una risposta diretta, qualsiasi direzione sarebbe molto apprezzata.

Grazie in anticipo.

Risposte:


9

Sì, dovresti guardare l'eccellente white paper su questo argomento, anche se si riferisce alla ricostruzione dell'indice online, ha ancora molte buone informazioni

http://technet.microsoft.com/en-us/library/cc966402.aspx

Se i file di registro sono in crescita automatica, è possibile trovare tali informazioni utilizzando la traccia predefinita dopo il completamento dell'azione.

DECLARE @filename VARCHAR(255) 
SELECT @FileName = SUBSTRING(path, 0, LEN(path)-CHARINDEX('\', REVERSE(path))+1) + '\Log.trc'  
FROM sys.traces   
WHERE is_default = 1;  

--Check if the data and log files auto-growed. Look for tempdb, log files etc.
SELECT 
    gt.ServerName
    , gt.DatabaseName
    , gt.TextData
    , gt.StartTime
    , gt.Success
    , gt.HostName
    , gt.NTUserName
    , gt.NTDomainName
    , gt.ApplicationName
    , gt.LoginName
FROM [fn_trace_gettable](@filename, DEFAULT) gt 
JOIN sys.trace_events te ON gt.EventClass = te.trace_event_id 
WHERE EventClass in ( 92, 93 ) --'Data File Auto Grow', 'Log File Auto Grow'
ORDER BY StartTime; 
--

7

Non è solo possibile rilevare se le operazioni DDL dell'indice aumentano il file di registro, è la linea di azione predefinita. Tutte le operazioni sugli indici sono registrate in un database che utilizza il modello di recupero completo.

Ti consiglio di leggere il seguente articolo su MSDN: Determinazione dei requisiti di spazio su disco dell'indice .

Dal 3 ° capitolo - Spazio su disco del registro delle transazioni per le operazioni sugli indici di quell'articolo citerò:

" Le operazioni su indici su larga scala possono generare grandi carichi di dati che possono causare il riempimento rapido del registro delle transazioni. Per assicurarsi che l'operazione sull'indice possa essere ripristinata, il registro delle transazioni non può essere troncato fino al completamento dell'operazione sull'indice; tuttavia, il registro può essere eseguito il backup durante l'operazione sull'indice, pertanto il registro delle transazioni deve disporre di spazio sufficiente per archiviare sia le operazioni dell'operazione sull'indice sia eventuali transazioni simultanee dell'utente per la durata dell'operazione sull'indice.Ciò vale sia per le operazioni sugli indici offline che online. Poiché non è possibile accedere alle tabelle sottostanti durante un'operazione di indice offline, è possibile che vi siano poche transazioni utente e che il registro non cresca più rapidamente. Le operazioni sugli indici online non impediscono l'attività dell'utente simultanea, pertanto operazioni su indici online su larga scala combinate con transazioni utente simultanee significative possono causare la crescita continua del registro delle transazioni senza un'opzione per troncare il registro. "

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.