Provare questo scritto: --INF: Come ristringere il ceppo di transazione dell'assistente 7.0 di SQL
-- SQL7
http://support.microsoft.com/support/kb/articles/q256/6/50.asp?id=256650&SD-- SQL7
http://www.support.microsoft.com/kb/256650 -- SQL2000
http://support.microsoft.com/kb/272318/en-us-- SQL2005
http://support.microsoft.com/kb/907511/en-us-- selezionare il db_name ()
-- selezionare * a partire dagli sysfiles
-- QUESTO SCRITTO NON È INTESO PER USO PREVEDUTO!! LEGGERE BOL ed i URL!!
REGOLARE NOCOUNT SOPRA
DICHIARARE lo sysname del @LogicalFileName,
@MaxMinutes INT,
@NewSize il INT
-- IL *** SI ASSICURA CAMBIARE LE 3 LINEE SEGUENTI CON I VOSTRI TEST DI VERIFICA. ***
SELEZIONARE il @LogicalFileName = ''
, -- Usare sp_helpfile per identificare il nome di schedario logico che volete per ristringere.
@MaxMinutes = 10, -- Limite in tempo permesso spostare ceppo.
@NewSize = 305 -- nel mb
-- Installare/inizializzare
DICHIARARE @OriginalSize il int
PRESCELTO @OriginalSize = formato -- in pagine 8K
Dagli sysfiles
DOVE chiamare = @LogicalFileName
“Il formato originale PRESCELTO di„ + db_name () + “CEPPO è„ +
CONVERTITO (VARCHAR (30), @OriginalSize) + “pagine 8K o„ +
CONVERTIRE (VARCHAR (30), (@ORIGINALSIZE*8/1024)) + “MB„
Dagli sysfiles
DOVE chiamare = @LogicalFileName
GENERARE la TABELLA DummyTrans
(Carbone di DummyColumn (8000) nulli)
-- Spostare il ceppo e troncarlo.
DICHIARARE IL @COUNTER INT,
DATETIME del @StartTime,
@TruncLog VARCHAR (255)
SELEZIONARE IL @STARTTIME = GETDATE (),
@TruncLog = “CEPPO DI SOSTEGNO„ + db_name () + “CON TRUNCATE_ONLY„
-- Provare gli strizzacervelli iniziali.
DBCC SHRINKFILE (@LOGICALFILENAME, @NEWSIZE)
EXEC (@TruncLog)
-- Spostare il ceppo se necessario.
MENTRE @MaxMinutes > DATEDIFF (MI, @StartTime, GETDATE ()) -- il tempo non ha espirato
E @OriginalSize = (formato PRESCELTO dagli sysfiles DOVE nome = @LogicalFileName) -- il ceppo non ha ristretto
E (@OriginalSize * 8 /1024) > @NewSize -- Il valore è passato dentro per il nuovo formato è più piccolo del formato corrente.
COMINCIARE -- Ciclo esterno.
SELEZIONARE il @Counter = 0
MENTRE ((@COUNTER <�> COMINCIA -- aggiornamento
INSERIRE i VALORI di DummyTrans (“ceppo del materiale di riempimento ") -- Poiché è un campo del carbone inserisce 8000 byte.
CANCELLAZIONE DummyTrans
SELEZIONARE il @Counter = il @Counter + 1
ESTREMITÀ -- aggiornamento
EXEC (@TruncLog) -- Vedere se un trunc del ceppo lo ristringe.
ESTREMITÀ -- ciclo esterno
“Il formato finale PRESCELTO di„ + db_name () + “CEPPO è„ +
CONVERTIRE (VARCHAR (30), formato) + “pagine 8K o„ +
CONVERTIRE (VARCHAR (30), (size*8/1024)) + “MB„
Dagli sysfiles
DOVE chiamare = @LogicalFileName
CADERE la TABELLA DummyTrans
La STAMPA “*** effettua un *** di sostegno della base di dati completa„
REGOLARE NOCOUNT FUORI