Question: I have a database that has a 28gig transaction log file. Recovery mode is simple. I just took a full backup of the database, and then ran both:

`backup log dbmcms with truncate_only`

DBCC SHRINKFILE ('Wxlog0', TRUNCATEONLY)

The name of the db is db\_mcms and the name of the transaction log file is Wxlog0. 

Neither has helped. I'm not sure what to do next.

Answer: 
Thank you to everyone for answering. 

We finally found the issue. In sys.databases, log\_reuse\_wait\_desc was equal to 'replication'. Apparently this means something to the effect of SQL Server waiting for a replication task to finish before it can reuse the log space.

Replication has never been used on this DB or this server was toyed with once upon a time on this db. We cleared the incorrect state by running sp\_removedbreplication. After we ran this, backup log and dbcc shrinkfile worked just fine.

Definitely one for the bag-of-tricks.

Sources:

<http://social.technet.microsoft.com/Forums/pt-BR/sqlreplication/thread/34ab68ad-706d-43c4-8def-38c09e3bfc3b>

<http://www.eggheadcafe.com/conversation.aspx?messageid=34020486&threadid=33890705>
This answer has been lifted from [here](http://social.msdn.microsoft.com/Forums/en-US/sqlreplication/thread/34ab68ad-706d-43c4-8def-38c09e3bfc3b/) and is posted here in case the other thread gets deleted:

> 
> The fact that you have non-distributed LSN in the log is the problem.
>  I have seen this once before not sure why we dont unmark the
>  transaction as replicated. We will investigate this internally. You
>  can execute the following command to unmark the transaction as
>  replicated
> 
> 
> 

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

```

> 
> At this point you should be able to truncate the log.
> 
> 
>