SQL Server - Truncar Log para DB con replicacion

 
Vista:

Truncar Log para DB con replicacion

Publicado por Elvis (27 intervenciones) el 05/01/2007 22:07:26
Saludos a todos y todas.

Tengo una DB que tiene el log muy grande, y deseo truncarlo, pero el problema es que al intentar hacer el truncate me presenta algunos erroes y mensajes y parece debido a la replicacion.

Para efectos de lo que necesito hacer no necesito la replicacion, si la solución es deshabilitar la replicacion como lo puedo hacer. Gracias

Ejecución

BACKUP LOG MIBASE WITH NO_LOG
BACKUP LOG MIBASE WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE (MIBASE,0,TRUNCATEONLY)

Resultado:

The log was not truncated because records at the beginning of the log are pending replication. Ensure the Log Reader Agent is running or use sp_repldone to mark transactions as distributed.
The log was not truncated because records at the beginning of the log are pending replication. Ensure the Log Reader Agent is running or use sp_repldone to mark transactions as distributed.
Cannot shrink log file 2 (MIBASE_Log) because all logical log files are in use.
DbId FileId CurrentSize MinimumSize UsedPages EstimatedPages
------ ------ ----------- ----------- ----------- --------------
8 1 541920 128 521776 521752
8 3 1536 128 1440 1440
8 2 464248 128 464248 128

(3 row(s) affected)

DBCC execution completed. If DBCC printed error messages, contact your system administrator.
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:Truncar Log para DB con replicacion

Publicado por Isaías (3308 intervenciones) el 05/01/2007 22:36:38
Tomado de la ayuda en linea:

sp_repldone

Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación, Actualiza el registro que identifica la última transacción distribuida del servidor.

Ejemplos
Cuando xactid es NULL, xact_seqno es NULL y reset es 1, todas las transacciones duplicadas del registro se marcan como distribuidas. Esto resulta útil cuando, por ejemplo, hay transacciones duplicadas en el registro de transacciones que ya no son válidas y desea truncar el registro:

EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1

Advertencia !!!! Este procedimiento se puede utilizar en situaciones de emergencia para permitir que se trunque el registro de transacciones cuando existen transacciones pendientes de duplicación. Con este procedimiento se impide que Microsoft® SQL Server™ 2000 duplique la base de datos, hasta que ésta se deje de publicar para volver a publicarla después.
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:Truncar Log para DB con replicacion

Publicado por Javier Prado (1 intervención) el 25/02/2008 19:52:25
Buen dia compañero

yo tengo un Query para eliminar el Log de la DB

aqui lo tienes:

--Query para Truncar el Log de una BD
dump tran nombredebasededatos with no_log
DBCC SHRINKDATABASE
( nombredebasededatos ,5
, TRUNCATEONLY
)

correlo y funciona muy bien, yo tenia 8 gigas en el log y me lo bajo a 1 mega.

Saludos
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:Truncar Log para DB con replicacion

Publicado por Antonio Nuñez (1 intervención) el 26/07/2008 08:32:29
Muchas Gracias muy bueno
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