Tentar este certificado: --INF: Como encolher o registro de transação do usuário 7.0 do 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-- selecionar o db_name ()
-- selecionar * dos sysfiles
-- ESTE CERTIFICADO NÃO É PRETENDIDO PARA O USO PROGRAMADO!! LER BOL e os URL!!
AJUSTAR NOCOUNT SOBRE
DECLARAR o sysname do @LogicalFileName,
@MaxMinutes INT,
@NewSize o INT
-- O *** CERTIFICA-SE MUDAR AS 3 LINHAS SEGUINTES COM SEUS CRITÉRIOS. ***
SELECIONAR o @LogicalFileName = ''
, -- Usar sp_helpfile para identificar o nome de arquivo lógico que você quer encolher.
@MaxMinutes = 10, -- O limite no tempo reservou envolver o registro.
@NewSize = 305 -- no MB
-- Setup/inicializar
DECLARAR @OriginalSize o int
SELETO @OriginalSize = tamanho -- nas páginas 8K
Dos sysfiles
ONDE nomear = @LogicalFileName
“O tamanho original SELETO de” + db_name () + “REGISTRO é” +
CONVERSO (VARCHAR (30), @OriginalSize) + “páginas 8K ou” +
CONVERTER (VARCHAR (30), (@ORIGINALSIZE*8/1024)) + “MB”
Dos sysfiles
ONDE nomear = @LogicalFileName
CRIAR a TABELA DummyTrans
(Carvão animal de DummyColumn (8000) nao nulos)
-- Envolver o registro e truncá-lo.
DECLARAR O @COUNTER INT,
DATETIME do @StartTime,
@TruncLog VARCHAR (255)
SELECIONAR O @STARTTIME = O GETDATE (),
@TruncLog = “REGISTRO ALTERNATIVO” + db_name () + “COM TRUNCATE_ONLY”
-- Tentar um psiquiatra inicial.
DBCC SHRINKFILE (O @LOGICALFILENAME, @NEWSIZE)
EXEC (@TruncLog)
-- Envolver o registro caso necessário.
QUANDO @MaxMinutes > DATEDIFF (MI, @StartTime, GETDATE ()) -- o tempo não expirou
E @OriginalSize = (tamanho SELETO dos sysfiles ONDE nome = o @LogicalFileName) -- o registro não encolheu
E (@OriginalSize * 8 /1024) > @NewSize -- O valor passou dentro para o tamanho novo é menor do que o tamanho atual.
COMEÇAR -- Laço exterior.
SELECIONAR o @Counter = 0
QUANDO ((O @COUNTER <�> COMEÇA -- atualização
INTRODUZIR VALORES de DummyTrans (da “registro suficiência ") -- Porque é um campo do carvão animal introduz 8000 bytes.
SUPRESSÃO DummyTrans
SELECIONAR o @Counter = o @Counter + 1
EXTREMIDADE -- atualização
EXEC (@TruncLog) -- Ver se um trunc do registro o encolhe.
EXTREMIDADE -- laço exterior
“O tamanho final SELETO de” + db_name () + “REGISTRO é” +
CONVERTER (VARCHAR (30), tamanho) + “as páginas 8K ou” +
CONVERTER (VARCHAR (30), (size*8/1024)) + “MB”
Dos sysfiles
ONDE nomear = @LogicalFileName
DEIXAR CAIR a TABELA DummyTrans
A CÓPIA “*** executa um *** alternativo da base de dados cheia”
AJUSTAR NOCOUNT FORA