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

Troubleshooting Guide: SQL Server Error 878 — Resilient Buffer Pool Extension Creation Failure

Why This Error Happens

Error 878 occurs when SQL Server 2025 cannot allocate or create the resilient buffer pool extension (BPE) file at the specified path, typically because the SQL Server service account lacks NTFS write permissions on the target directory or drive. This can also happen if the target volume has insufficient free disk space to accommodate the requested buffer pool extension size, or if the path references a non-existent directory, a removable/network drive that doesn’t support the required persistent memory semantics, or a volume formatted with an incompatible file system (non-NTFS/ReFS). Additionally, file corruption or a pre-existing locked file at that path from a previous failed attempt can block creation of the new resilient buffer extension file.

Step-by-Step Resolution Guide

Step 1: Verify NTFS Permissions on the Target Path

  • Open File Explorer, navigate to the drive/folder specified in the error message (e.g., D:\SQLBPE\).
  • Right-click the folder → Properties → Security tab.
  • Confirm the SQL Server service account (e.g., NT Service\MSSQLSERVER or a custom domain service account) has Full Control permissions.
  • If missing, click Edit → Add, enter the service account name, and grant Full Control, then click Apply.

Step 2: Confirm Disk Space and Path Validity

  • Open PowerShell as Administrator and run:
  Get-PSDrive -PSProvider FileSystem
  • Ensure the target volume has enough free space to match the configured BPE size (check via sys.dm_os_buffer_pool_extension_configuration).
  • Confirm the path exists and is on a local, fixed NTFS or ReFS volume — not a network share (UNC paths are unsupported for BPE).
  • If the directory doesn’t exist, create it manually:
  New-Item -ItemType Directory -Path "D:\SQLBPE"

Step 3: Remove Stale or Locked BPE Files

  • Check the target path for leftover .bpe files from a previous failed configuration attempt.
  • Stop the SQL Server service via SQL Server Configuration Manager.
  • Manually delete any orphaned .bpe file in the directory.
  • Restart the SQL Server service and re-run the ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION command.

Step 4: Reconfigure the Buffer Pool Extension

  • Execute the following T-SQL to disable and re-enable the BPE with correct parameters:
  ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION OFF;
  GO
  ALTER SERVER CONFIGURATION SET BUFFER POOL EXTENSION ON
  ( FILENAME = 'D:\SQLBPE\BPE.bpe', SIZE = 4096 MB );
  GO
  • Ensure the SIZE value does not exceed available free disk space and follows the supported ratio relative to physical RAM.

Alternative or Verification Steps

  • Run SELECT * FROM sys.dm_os_buffer_pool_extension_configuration; in SSMS to confirm the BPE state shows as state_description = RUNNING.
  • If the error persists, check the SQL Server Error Log and Windows Event Viewer (Application log) for underlying I/O or antivirus-blocking errors, and consider targeting a different local SSD-backed volume as an alternative path.