How to fix Error 986 on Windows Server 2025 / Windows 11

Troubleshooting Guide: SQL Server Error 986 – “Couldn’t Get a Clean Bootpage for Database”

Why This Error Happens

This error occurs when SQL Server’s checkpoint process encounters concurrent, rapid modifications to a database’s boot page (page 9 in the primary file) while trying to read a transactionally consistent snapshot of it. It is typically triggered by extremely high transaction throughput or aggressive concurrent DDL/DML operations against the database, causing the engine to retry the read multiple times. Despite the alarming wording, Microsoft explicitly classifies this as an informational message, meaning it is usually benign and self-resolving as SQL Server simply retries until it succeeds.

Step-by-Step Resolution Guide

Step 1: Confirm the Severity and Context of the Message

  • Check the SQL Server Error Log via SSMS (Management > SQL Server Logs) or xp_readerrorlog to confirm Error 986 is logged as Informational and not paired with a higher-severity error (like 823, 824, or 825) which would indicate actual I/O corruption.
  • Note the timestamp and cross-reference it with Windows Performance Monitor (PerfMon) logs for disk latency spikes.
  • Run the following query to check recent error log entries:
  EXEC sys.xp_readerrorlog 0, 1, N'986';

Step 2: Analyze Workload and Checkpoint Frequency

  • Identify if this coincides with a manual or automatic CHECKPOINT operation during heavy write activity.
  • Check if “Indirect Checkpoints” are enabled for the database, as this can sometimes reduce the frequency of boot page contention.
  SELECT name, target_recovery_time_in_seconds 
  FROM sys.databases 
  WHERE name = 'YourDatabaseName';
  • If target_recovery_time_in_seconds is 0 (Automatic/Legacy), consider setting it to a non-zero value (e.g., 60) to enable Indirect Checkpoints, which can smooth out I/O patterns.
  ALTER DATABASE YourDatabaseName SET TARGET_RECOVERY_TIME = 60 SECONDS;

Step 3: Rule Out Underlying Disk I/O Bottlenecks

  • Since this error often correlates with storage subsystem lag on Windows Server 2025, verify the health of the underlying storage using Storage Spaces Direct health checks or Device Manager.
  • Open Resource Monitor (resmon.exe) and check the Disk tab for high queue lengths or response times exceeding 15ms on the drive hosting the .mdf file.
  • Update storage drivers via Windows Update or the manufacturer’s dashboard (e.g., Dell OMSA, HPE iLO) to ensure compatibility with Windows Server 2025 I/O stack changes.

Step 4: Validate Database Integrity

  • Although the error is informational, run a full integrity check to validate that no physical corruption exists on the boot page itself.
  DBCC CHECKDB ('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;
  • Review the output specifically for allocation errors on Page ID 1:9 (the boot page).

Alternative or Verification Steps

  • Verification: Monitor the SQL Server Error Log for the next 24–48 hours; if Error 986 does not recur alongside Error 823/824, or if it occurs only once without a corresponding DBCC CHECKDB failure, the system is healthy and no further action is needed.
  • Alternative Fix: If the error persists frequently under heavy load, consider migrating the database’s transaction log and data files to separate physical volumes (or faster NVMe storage) to reduce I/O contention during checkpoint operations.