Jay Chan (jaykchan@hotmail.com) writes:[color=blue]
> The transaction log in a database in our SQLSERVER-2000 server has
> grown to 16GB. I cannot shrink the transaction log manually because it
> says that the entire 16GB log size is not free. This is strange
> because we backup the transaction log every hour, and that should have
> truncated the transaction log, and should have limited the size of the
> transaction log; somehow, the entire transaction log is still marked
> as being used.
>
> I was under the impression
>
> I believe that must have something to do with the fact that the
> database is a part of our nightly replication. The reason is that when
> I tried the following commands, I got that error message:
>
> checkpoint
> dump transaction isprod with no_log
>
> 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.
>
> What does this mean? How can I get away from this mess?[/color]
It seems that the error message gives you quite explicit instructions.
Apparently, you have set up the database as a publisher, but it does
not seem to be any replication process reading the log. Therefore the
log cannot be truncated. (And you don't really want to use NO_LOG, unless
you immediately take a full backup.)
Since you mention a nightly replication, it might be that you are
rolling your own replication, and not using the one in SQL Server.
Then again, maybe you are, in which case you should wreck the log.
So before you cut any transaction logs, you need to understand how
your system is actually set up, and what is supposed to happen.
--
Erland Sommarskog, SQL Server MVP,
Join Bytes!
Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techin.../2000/books.asp