I was trying to shrink the log on a database in simple recovery.
It shrunk by about 10Gb, and then wouldn't shrink any further. in the sys.databases Log_Reuse_Wait_Desc column the reason was "Active_Transaction", however dbcc opentran showed no open transactions.
On running a CHECKPOINT and trying the shrink again, the log could be shrunk and the Reuse_wait_desc changed to NOTHING.
I cant figure out what happened here, and why a checkpoint would clear any active transactions. Can anyone shed light on this?