sys.dm_db_log_stats :log_truncate_holdup_reason : OLDEST_PAGE

sakuraime 2,321 Reputation points
2020-08-24T11:01:20.317+00:00

for full mode database, I did some transaction , and then backup the transaction log . and then I will see sys.dm_db_log_stats :log_truncate_holdup_reason : OLDEST_PAGE

there is some definition on the following but I am still a bit confused of this reason .
https://www.mssqltips.com/sqlservertip/4666/long-running-transactions-cause-sql-server-transaction-log-to-grow/

19858-oldest-page.jpg

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
12,999 questions
{count} votes

2 answers

Sort by: Most helpful
  1. AmeliaGu-MSFT 13,961 Reputation points Microsoft Vendor
    2020-08-25T02:21:13.657+00:00

    Hi michaelchau,

    If a database is configured to use indirect checkpoints, the oldest page on the database might be older than the checkpoint log sequence number (LSN). In this case, the oldest page can delay log truncation.
    You can create CHECKPOINT manually, then backup transaction log again.
    Please refer to Factors that can delay log truncation and this similar thread which might help.

    Best Regards,
    Amelia

    0 comments No comments

  2. sakuraime 2,321 Reputation points
    2020-08-28T09:10:07.49+00:00

    21212-target-recovery-time.jpg

    so in my example, the database is having 60s target_recovery_time, but wait for about more than many minutes. it's still showing ÖLDEST_PAGE

    so where is the oldest_page ?