SQL Server - No crece mi archivo de transacciones

 
Vista:

No crece mi archivo de transacciones

Publicado por LUIS LAZO TUAREZ (6 intervenciones) el 28/08/2006 22:27:38
hola amigos como estan,saben tengo un problema con mi base de datos, reduci el archivo de transaciones de mi base y ahira ya no incrementa su tamaño me gustaria saber a que se debe y como puedo habilitarlo de nuevo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:No crece mi archivo de transacciones

Publicado por Isaías (3308 intervenciones) el 28/08/2006 23:03:47
¿Como lo redujiste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No crece mi archivo de transacciones

Publicado por LUIS LAZO TUAREZ (6 intervenciones) el 28/08/2006 23:08:47
SET NOCOUNT ON
DECLARE @NombreLogicoArchivo sysname,
@MaxMinutos INT,
@NuevoTamano INT

/* Indique aquí su configuración. */
-- Nombre de la base de datos para el que se va a truncar el registro
USE solarex

-- Use sp_helpfile para identificar el nombre de archivo lógico
-- que desea reducir.
set @NombreLogicoArchivo = 'MATRIZ_Log'

-- Límite de tiempo permitido para dar la vuelta al registro.
set @MaxMinutos = 10
set @NuevoTamano = 500 -- en MB

-- Configuración e inicio
DECLARE @TamanoOriginal int

SELECT @TamanoOriginal = size -- en páginas de 8 KB
FROM sysfiles
WHERE name = @NombreLogicoArchivo;

SELECT ' El tamaño original del registro de ' +
db_name() + ' es ' +
CONVERT(VARCHAR(30),@TamanoOriginal) +
' páginas de 8 KB ó ' +
CONVERT(VARCHAR(30),(@TamanoOriginal *8/1024)) + 'MB'
FROM sysfiles
WHERE name = @NombreLogicoArchivo;

--drop table dummytrans;
CREATE TABLE DummyTrans(DummyColumna char (8000) not null)

-- Dar la vuelta al registro y truncarlo.
DECLARE @Contador INT;
DECLARE @HoraInicio DATETIME;
DECLARE @TruncReg VARCHAR(255);

SET @HoraInicio = GETDATE();
SET @TruncReg = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

-- Intentar una reducción inicial.
DBCC SHRINKFILE (@NombreLogicoArchivo, @NuevoTamano)
EXEC (@TruncReg)

-- Dar la vuelta al registro, si es necesario.
-- no se ha excedido el máximo tiempo establecido
WHILE @MaxMinutos > DATEDIFF (mi, @HoraInicio, GETDATE())
-- no se ha reducido el registro
AND @TamanoOriginal = (SELECT size FROM sysfiles
WHERE name = @NombreLogicoArchivo)

-- El valor pasado para el tamaño nuevo es más pequeño que el tamaño actual.
AND (@TamanoOriginal * 8 /1024) > @NuevoTamano
BEGIN -- Bucle externo.
SELECT @Contador = 0 WHILE ((@Contador < @TamanoOriginal / 16) AND (@Contador < 50000))

BEGIN -- Actualización
-- Como es un campo de tipo char, inserta 8000 bytes.

INSERT DummyTrans VALUES ('Llenar registro')
DELETE DummyTrans
SELECT @Contador = @Contador + 1
END -- Actualización Probar si un truncamiento reduce de tamaño el registro.
EXEC (@TruncReg)
END -- Bucle externo

SELECT ' El tamaño final del registro de ' +
db_name() + ' es de ' + CONVERT(VARCHAR(30),size) +
' páginas de 8 KB ó ' + CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @NombreLogicoArchivo

DROP TABLE DummyTrans
PRINT '*** RECUERDE: DEBE REALIZAR UNA COPIA DE SEGURIDAD COMPLETA DE LA BASE DE DATOS***'
SET NOCOUNT OFF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No crece mi archivo de transacciones

Publicado por LUIS LAZO TUAREZ (6 intervenciones) el 28/08/2006 23:09:11
lo reduje con el codigo q sigue......

SET NOCOUNT ON
DECLARE @NombreLogicoArchivo sysname,
@MaxMinutos INT,
@NuevoTamano INT

/* Indique aquí su configuración. */
-- Nombre de la base de datos para el que se va a truncar el registro
USE solarex

-- Use sp_helpfile para identificar el nombre de archivo lógico
-- que desea reducir.
set @NombreLogicoArchivo = 'MATRIZ_Log'

-- Límite de tiempo permitido para dar la vuelta al registro.
set @MaxMinutos = 10
set @NuevoTamano = 500 -- en MB

-- Configuración e inicio
DECLARE @TamanoOriginal int

SELECT @TamanoOriginal = size -- en páginas de 8 KB
FROM sysfiles
WHERE name = @NombreLogicoArchivo;

SELECT ' El tamaño original del registro de ' +
db_name() + ' es ' +
CONVERT(VARCHAR(30),@TamanoOriginal) +
' páginas de 8 KB ó ' +
CONVERT(VARCHAR(30),(@TamanoOriginal *8/1024)) + 'MB'
FROM sysfiles
WHERE name = @NombreLogicoArchivo;

--drop table dummytrans;
CREATE TABLE DummyTrans(DummyColumna char (8000) not null)

-- Dar la vuelta al registro y truncarlo.
DECLARE @Contador INT;
DECLARE @HoraInicio DATETIME;
DECLARE @TruncReg VARCHAR(255);

SET @HoraInicio = GETDATE();
SET @TruncReg = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

-- Intentar una reducción inicial.
DBCC SHRINKFILE (@NombreLogicoArchivo, @NuevoTamano)
EXEC (@TruncReg)

-- Dar la vuelta al registro, si es necesario.
-- no se ha excedido el máximo tiempo establecido
WHILE @MaxMinutos > DATEDIFF (mi, @HoraInicio, GETDATE())
-- no se ha reducido el registro
AND @TamanoOriginal = (SELECT size FROM sysfiles
WHERE name = @NombreLogicoArchivo)

-- El valor pasado para el tamaño nuevo es más pequeño que el tamaño actual.
AND (@TamanoOriginal * 8 /1024) > @NuevoTamano
BEGIN -- Bucle externo.
SELECT @Contador = 0 WHILE ((@Contador < @TamanoOriginal / 16) AND (@Contador < 50000))

BEGIN -- Actualización
-- Como es un campo de tipo char, inserta 8000 bytes.

INSERT DummyTrans VALUES ('Llenar registro')
DELETE DummyTrans
SELECT @Contador = @Contador + 1
END -- Actualización Probar si un truncamiento reduce de tamaño el registro.
EXEC (@TruncReg)
END -- Bucle externo

SELECT ' El tamaño final del registro de ' +
db_name() + ' es de ' + CONVERT(VARCHAR(30),size) +
' páginas de 8 KB ó ' + CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @NombreLogicoArchivo

DROP TABLE DummyTrans
PRINT '*** RECUERDE: DEBE REALIZAR UNA COPIA DE SEGURIDAD COMPLETA DE LA BASE DE DATOS***'
SET NOCOUNT OFF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No crece mi archivo de transacciones

Publicado por Isaías (3308 intervenciones) el 28/08/2006 23:54:00
Luis

No veo problema alguno en tu codigo, ¿Cada cuando lo ejecutas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No crece mi archivo de transacciones

Publicado por LUIS LAZO (6 intervenciones) el 29/08/2006 00:15:00
CADA MES,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No crece mi archivo de transacciones

Publicado por Isaías (3308 intervenciones) el 29/08/2006 21:18:26
Que extraño que tu LOG de transacciones no crezca, a menos de que tengas un modo de recuperacion, que no guarde las transacciones, ¿Que tipo de recuperacion tienes declarada?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:No crece mi archivo de transacciones

Publicado por LUIS (6 intervenciones) el 29/08/2006 21:54:05
TENGO LA COMPLETA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar