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

Why This Error Happens

Error 876 occurs when SQL Server 2025 cannot initialize the resilient buffer pool extension (BPE) file at the specified path. This is typically caused by insufficient NTFS permissions for the SQL Server service account on the target directory, the underlying storage volume lacking the required capacity for the configured cache size, or the BPE file/path being locked by another process or corrupted from an unclean shutdown. In some cases, the path references a drive that uses a file system (such as ReFS without proper configuration) or storage tier that does not support the persistent memory semantics required by the resilient buffer pool extension.

Step-by-Step Resolution Guide

Step 1: Verify Service Account Permissions on the Target Path

  • Open File Explorer and navigate to the directory specified in the error (e.g., D:\SQLCache\BPE\).
  • Right-click the folder, select Properties > Security, and confirm the SQL Server service account (e.g., NT Service\MSSQLSERVER) has Full Control.
  • If missing, click Edit > Add, type the service account name, and grant Full Control.
  • Restart the SQL Server service via services.msc or net start MSSQLSERVER after applying permissions.

Step 2: Check Disk Space and Storage Configuration

  • Confirm the target volume has free space greater than the configured buffer pool extension size (%I64d MB reported in the error).
  • Run fsutil fsinfo drives in an elevated Command Prompt to confirm the drive letter is still mapped correctly.
  • If using ReFS, verify integrity streams are disabled for the BPE file’s parent directory using Set-FileIntegrity -FileName "D:\SQLCache" -Enable $false in PowerShell, since integrity streams can block the low-level I/O pattern BPE requires.

Step 3: Remove Corrupted or Locked BPE Files

  • Stop the SQL Server service completely: net stop MSSQLSERVER.
  • Navigate to the configured BPE path and delete any stale .BPE or .cache files left from a previous crash.
  • Use Process Explorer (Sysinternals) to confirm no orphaned sqlservr.exe handle is still locking the file before deletion.

Step 4: Reconfigure the Buffer Pool Extension via T-SQL

  • Open SQL Server Management Studio (SSMS) and connect to the instance.
  • Disable and re-enable the extension with a validated path and size:
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION OFF;
GO
ALTER SERVER CONFIGURATION
SET BUFFER POOL EXTENSION ON
(FILENAME = 'D:\SQLCache\BPE\Example.BPE', SIZE = 4096 MB);
GO
  • Ensure the SIZE value does not exceed 16x the instance’s configured max server memory, per SQL Server 2025 guidelines.

Step 5: Validate Windows Server 2025 Storage Driver Compatibility

  • Update storage controller and disk drivers via Windows Update or vendor-specific tools, as outdated drivers on Windows Server 2025 have been known to interfere with memory-mapped file extensions like BPE.
  • Reboot the server after driver updates and attempt to restart the SQL Server service.

Alternative or Verification Steps

  • After applying fixes, check the SQL Server Error Log (via SSMS or ERRORLOG file in the MSSQL\Log directory) for the message “Buffer Pool Extension is enabled” to confirm successful startup.
  • If the error persists, move the BPE file to a different physical disk (preferably a local SSD rather than network-attached storage) since resilient BPE does not support remote or UNC paths.