Troubleshooting Guide: SQL Server Error 5807 – Recovery Interval Exceeds Recommended Threshold
Why This Error Happens
This error occurs because the recovery interval (min) server configuration option has been set to a value that exceeds Microsoft’s recommended safe threshold, typically triggered when an administrator attempts to manually extend checkpoint intervals to reduce I/O overhead. SQL Server 2025 enforces this soft limit by default because excessively long recovery intervals can dramatically increase database startup and crash recovery time, risking extended downtime. The engine blocks the change via standard RECONFIGURE as a safety guardrail, requiring explicit override intent from the administrator.
Step-by-Step Resolution Guide
Step 1: Verify the Current Recovery Interval Setting
- Open SQL Server Management Studio (SSMS) or Azure Data Studio and connect to the target instance.
- Run the following query to check current configuration values:
EXEC sp_configure 'recovery interval';
- Confirm whether the
config_valueexceeds the recommended range (values above 60 minutes typically trigger this warning).
Step 2: Decide Between Reverting or Overriding the Setting
- If the high value was unintentional, reset it to a safer default (0 for automatic management, or a value under 60):
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'recovery interval', 0;
RECONFIGURE;
- If the extended interval is intentional (e.g., for a specific workload reducing checkpoint frequency), proceed to Step 3 to force the configuration.
Step 3: Apply the Override Using RECONFIGURE WITH OVERRIDE
- Execute the following T-SQL block to force the setting despite the warning:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'recovery interval', <desired_value>;
RECONFIGURE WITH OVERRIDE;
- Replace
<desired_value>with your intended minute value (e.g., 90 or 120). - Restart the SQL Server service via Windows Services (
services.msc) or PowerShell to ensure the change is fully applied:
Restart-Service -Name 'MSSQLSERVER' -Force
Step 4: Review SQL Server Error Logs for Confirmation
- Navigate to the default log path:
C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG. - Search for configuration change entries confirming the new recovery interval value was accepted without further errors.
Alternative or Verification Steps
- Run
EXEC sp_configure 'recovery interval';again post-restart and confirm therun_valuecolumn matches your intended setting, indicating the override was successfully applied. - If performance issues arise from extended recovery intervals (e.g., slow crash recovery during testing), consider reverting to the default value of 0, which allows SQL Server to auto-manage checkpoint frequency based on workload.