Troubleshooting Guide: SQL Server Error 5596 – FILESTREAM Configuration Inconsistent
Why This Error Happens
Error 5596 occurs when the FILESTREAM settings configured at the Windows OS level (via SQL Server Configuration Manager) do not match the FILESTREAM access level set inside the SQL Server instance itself (via sp_configure). This mismatch commonly arises after a manual registry edit, an incomplete server reboot following installation, or a failed patch/upgrade cycle (such as migrating to SQL Server 2025) that left the Windows service control registry keys out of sync with the instance-level setting. Because FILESTREAM requires alignment between the OS-level driver/share settings and the instance-level flag, SQL Server throws this warning to prevent silent data access failures on filestream-enabled databases.
Step-by-Step Resolution Guide
Step 1: Verify Current Configuration State
- Open a new query window in SSMS and run
EXEC sp_configure 'filestream access level'to check the current instance-level value. - Open SQL Server Configuration Manager → navigate to SQL Server Services → right-click your instance (e.g.,
SQL Server (MSSQLSERVER)) → select Properties → go to the FILESTREAM tab. - Compare the checkbox states (Enable FILESTREAM for Transact-SQL access, Enable read/write, Allow remote clients) against the
sp_configureoutput.
Step 2: Reset FILESTREAM at the OS Level
- In SQL Server Configuration Manager, uncheck all three FILESTREAM checkboxes, click Apply, then re-check the boxes you actually need (at minimum “Enable FILESTREAM for Transact-SQL access”), and click Apply again.
- This forces Windows to rewrite the registry key at
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\Filestream(path varies by instance name/version). - Restart the SQL Server service from the same Configuration Manager window to apply the OS-level change cleanly.
Step 3: Realign the Instance-Level Setting via T-SQL
- Run the following in SSMS as a sysadmin:
EXEC sp_configure filestream_access_level, 2;
RECONFIGURE;
- Use value
1for Transact-SQL access only, or2for full read/write access including Win32 streaming (match whatever you enabled in Step 2). - Restart the SQL Server service once more so both layers (OS and instance) pick up the matching value.
Step 4: Clear Stale Configuration Cache (If Error Persists)
- Stop the SQL Server service entirely via services.msc or Configuration Manager.
- Delete/rename any orphaned FILESTREAM share folders under the data directory (e.g.,
C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\DATA\) only if they are confirmed unused and not tied to an active filegroup. - Restart the service and re-run Step 1 to confirm the checkbox states and
sp_configurevalue now report identically.
Alternative or Verification Steps
- Run
SELECT * FROM sys.dm_os_loaded_modules WHERE name LIKE '%filestream%'and check SQL Server Error Log for “FILESTREAM: effective level = ” confirming the new setting took effect after restart. - If the inconsistency returns after every restart, uninstall and reinstall the FILESTREAM feature via Windows Features / Add Roles and Features on Windows Server 2025, then re-run SQL Server Setup in “Repair” mode to rebuild the feature cleanly.