Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Truncado del Log Imposible

11 views
Skip to first unread message

JUAN

unread,
May 12, 2009, 12:39:01 AM5/12/09
to
he realizado todo lo que e podido averiguar en la red de como truncar el log
de transacciones y no he podido. El problema radica en que anteriormente
esta base de datos tenia replicacion y despues fue eliminada. Todo seguia
trabajando normal hasta que no pude truncar el log. el mdf esta por los 54GB
y el Log esta en 35GB. A crecido demaciado. Tengo bastante espacio en
Disco. He realizado estos procedimientos y nada a funcionado.

use data_01
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time =
0, @reset = 1
Resultado:
Server: Msg 18757, Level 16, State 1, Procedure sp_repldone, Line 263
The database is not published.

Tambien utilice este procedimiento:

use data_01
EXEC sp_removedbreplication 'data_01'
Y su resultado fue inutil por que me dice algo que se que esta desactivado
que es la replicación:

Server: Msg 18757, Level 16, State 1, Procedure sp_repldone, Line 263
The database is not published.

Para ver las transacciones pendiente ejecute:
DBCC OPENTRAN(data_01)
Y su resultado fue:

Transaction information for database 'DATA_01'.
Replicated Transaction Information:
Oldest distributed LSN : (1675809:411:5)
Oldest non-distributed LSN : (1856679:12964:1)
DBCC execution completed. If DBCC printed error messages, contact your
system administrator.


Algo tan sencillo como esto debiera de funcionarme pero es imposible

USE DATA_01
checkpoint
checkpoint
checkpoint
BACKUP LOG DATA_01 WITH TRUNCATE_ONLY

Sigue dandome este 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.

Me dijeron que hicera esto pero en realidad que hace?

use data_01
go
create table shrinkfile(
col1 int,
col2 char(2048)
)

dump tran data_01 with no_log
dbcc shrinkfile('E:\MSSQL\DATA\data_01_log', 50, TRUNCATEONLY)
go

set nocount on
declare @i int
declare @limit int

select @i = 0
select @limit = 10000

while @i < @limit
begin
insert into shrinkfile values(@i, 'Shrink the log...')
select @i = @i + 1
end

Quien me puede dar la mano y gracias

Juan Carlos Mendoza

unread,
Jun 5, 2009, 1:19:20 AM6/5/09
to
¿Has probado a detachar la base de datos, renombrar la log y atachar
solamente la base de datos?

Has una prueba en ambiente de desarrollo con un backup de produccion
de lo siguiente, y evalua los resultados:

Checkpoint
EXEC sp_detach_db 'base_de_datos', 'true'
-- renombrar el archivo log
EXEC sp_attach_single_file_db @dbname = 'base_de_datos',
@physname = 'c:\mssql7\data\base_de_datos.mdf'

Te dara un error que es el que no encontro el archivo de log (LDF) y
creara uno automaticamente de 512Kb.

Nunca hagas pruebas en Produccion y menos si el primer paso no es un
backup completo.

Saludos,

Juan Carlos Mendoza

0 new messages