Why This Error Happens
Error 860 typically occurs when SQL Server’s Buffer Pool Extension (BPE) feature encounters an inconsistency between the in-memory buffer descriptor and the actual data stored on the extension file. This is most commonly caused by an unexpected I/O failure, a corrupted BPE cache file, or a mismatch between the database file offset and the extension offset due to a hardware-level write failure. In rare cases, this also surfaces when the underlying SSD/NVMe drive hosting the .bpe file has suffered sudden disconnection or driver-level corruption during peak read activity.
Step-by-Step Resolution Guide
Step 1: Disable and Remove the Corrupted Buffer Pool Extension File
- Open SQL Server Management Studio (SSMS) and connect to the affected instance.
- Run the following T-SQL command to disable BPE immediately:
ALTER SERVERCONFIGURATION SET BUFFER POOL EXTENSION OFF;
- Manually delete the orphaned
.bpefile from its storage path (commonly found underD:\SQLCache\or wherever it was configured).
Step 2: Verify Disk Health and Storage Drivers
- Open Event Viewer on Windows Server 2025/Windows 11 and check the System log for Disk or Storport errors (Event ID 7 or 153) around the same timestamp as Error 860.
- Run
chkdsk D: /f /r(replaceD:with the actual BPE drive letter) during a scheduled maintenance window to repair file system-level corruption. - Update storage drivers via Device Manager > Disk Drives > Update Driver, especially if using NVMe RAID controllers.
Step 3: Re-enable Buffer Pool Extension on a Stable Volume
- Recreate the BPE file on a different, verified-healthy drive using:
ALTER SERVERCONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'E:\SQLCache\BPE_Cache.bpe', SIZE = 50 GB);
- Ensure the SQL Server service account has Full Control permissions on the new folder path (
E:\SQLCache\). - Restart the SQL Server service via services.msc to apply the configuration.
Step 4: Run DBCC CHECKDB on Affected Database File
- Identify the
Database file idandDatabase file offsetvalues from the original error message. - Run the following command against the specific database to confirm there is no deeper physical corruption:
DBCC CHECKDB ('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;
- Review the output for any allocation or consistency errors tied to the reported file ID.
Alternative or Verification Steps
- Monitor the SQL Server Error Log and Windows Event Viewer for 24-48 hours to confirm Error 860 does not recur after re-enabling BPE.
- If the error persists even after replacing the BPE file, disable Buffer Pool Extension permanently and rely on physical RAM allocation, as this indicates a deeper hardware-level incompatibility rather than a software corruption issue.