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.mscornet start MSSQLSERVERafter 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 MBreported in the error). - Run
fsutil fsinfo drivesin 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 $falsein 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
.BPEor.cachefiles left from a previous crash. - Use
Process Explorer(Sysinternals) to confirm no orphanedsqlservr.exehandle 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
SIZEvalue 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
ERRORLOGfile in theMSSQL\Logdirectory) 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.