Diesen Index versuchen: --INF: Wie man das Verhandlung-Maschinenbordbuch des SQL-Server-7.0 schrumpft
-- 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-- db_name vorwählen ()
-- * von den sysfiles vorwählen
-- DIESER INDEX IST NICHT FÜR ZEITLICH GEPLANTEN VERBRAUCH! BESTIMMT! BOL und die URL LESEN!!
NOCOUNT AN EINSTELLEN
@LogicalFileName sysname ERKLÄREN,
@MaxMinutes INT,
INT @NewSize
-- *** STELLEN SICHER, DIE FOLGENDEN 3 LINES MIT IHREN KRITERIEN ZU ÄNDERN. ***
@LogicalFileName VORWÄHLEN = ''
, -- Verwenden sp_helpfile, um den logischen Dateinamen zu kennzeichnen, den Sie schrumpfen wünschen.
@MaxMinutes = 10, -- Begrenzung rechtzeitig Maschinenbordbuch einwickeln gelassen.
= 305 @NewSize -- in MB
-- Gründen/initialisieren
ERKLÄREN @OriginalSize int
AUSERWÄHLT @OriginalSize = Größe -- in den Seiten 8K
Von den sysfiles
WO nennen = @LogicalFileName
AUSERWÄHLTE „ursprüngliche Größe von“ + db_name () + „MASCHINENBORDBUCH ist“ +
BEKEHRTER (VARCHAR (30), @OriginalSize), + „Seiten 8K oder“ +
UMWANDELN (VARCHAR (30), (@ORIGINALSIZE*8/1024)) + „MB“
Von den sysfiles
WO nennen = @LogicalFileName
TABELLE DummyTrans HERSTELLEN
(DummyColumn Putzfrau (8000) nicht ungültig)
-- Maschinenbordbuch einwickeln und es beschneiden.
@COUNTER INT ERKLÄREN,
@StartTime DATUM/UHRZEIT,
@TruncLog VARCHAR (255)
@STARTTIME = GETDATE VORWÄHLEN (),
@TruncLog = „UNTERSTÜTZUNGSmaschinenbordbuch“ + db_name () + „MIT TRUNCATE_ONLY“
-- Einen AnfangsPsychiater versuchen.
DBCC SHRINKFILE (@LOGICALFILENAME, @NEWSIZE)
EXEC (@TruncLog)
-- Das Maschinenbordbuch wenn notwendig einwickeln.
WÄHREND @MaxMinutes > DATEDIFF (MI, @StartTime, GETDATE ()) -- Zeit ist nicht abgelaufen
UND @OriginalSize = (AUSERWÄHLTE Größe von den sysfiles, WO Name = @LogicalFileName) -- das Maschinenbordbuch ist nicht geschrumpft
UND (* 8 /1024 @OriginalSize), > @NewSize -- Der Wert überschritt innen für neue Größe ist kleiner als die gegenwärtige Größe.
ANFANGEN -- Äußere Schleife.
@Counter VORWÄHLEN = 0
WÄHREND ((@COUNTER <�> FANGEN AN -- Update
DummyTrans WERTE („Fülle-Maschinenbordbuch ") EINSETZEN -- Weil es ein Putzfraufeld ist, setzt es 8000 Bytes ein.
LÖSCHUNG DummyTrans
@Counter = @Counter VORWÄHLEN + 1
ENDE -- Update
EXEC (@TruncLog) -- Sehen, wenn ein trunc des Maschinenbordbuches es schrumpft.
ENDE -- äußere Schleife
AUSERWÄHLTE „abschließende Größe von“ + db_name () + „MASCHINENBORDBUCH ist“ +
UMWANDELN (VARCHAR (30), Größe) + „Seiten 8K oder“ +
UMWANDELN (VARCHAR (30), (size*8/1024)) + „MB“
Von den sysfiles
WO nennen = @LogicalFileName
TABELLE DummyTrans FALLENLASSEN
DRUCK „*** führen ein volle Datenbank Unterstützungs***“ durch
NOCOUNT BEGINNEN