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

Troubleshooting Guide: Error 2518 – CLR Disabled During DBCC CHECKDB

Why This Error Happens

This error occurs because DBCC CHECKDB (or CHECKTABLE/CHECKFILEGROUP) encountered a table containing computed columns or CLR user-defined types, but the clr enabled configuration option is currently set to 0 at the server level. SQL Server 2025 requires the CLR runtime to be active in order to validate the integrity of CLR-dependent data types and computed column expressions. Without CLR enabled, the consistency checker cannot execute the underlying .NET assembly code needed to verify these objects, so it skips validation and raises this warning instead of failing silently.

Step-by-Step Resolution Guide

Step 1: Verify Current CLR Configuration State

  • Open SQL Server Management Studio (SSMS) or Azure Data Studio and connect to the affected instance.
  • Run the following query to check the current value:
  EXEC sp_configure 'clr enabled';
  • Confirm the run_value column shows 0, indicating CLR integration is disabled.

Step 2: Enable CLR Integration via T-SQL

  • Execute the following commands in a new query window with sysadmin privileges:
  sp_configure 'show advanced options', 1;
  RECONFIGURE;
  GO
  sp_configure 'clr enabled', 1;
  RECONFIGURE;
  GO
  • No service restart is required for this change to take effect, as clr enabled is a dynamic configuration option.

Step 3: Check CLR Strict Security Settings (SQL Server 2025 Specific)

  • SQL Server 2025 enforces clr strict security by default (value 1).
  • If your CLR assemblies are not signed with a certificate or asymmetric key, re-run DBCC CHECKDB after enabling CLR to confirm this isn’t a secondary blocker:
  sp_configure 'clr strict security';
  • If assemblies fail due to strict security, you will need to sign them or add them to a trusted assembly list using sys.sp_add_trusted_assembly rather than disabling strict security entirely.

Step 4: Re-run the Consistency Check

  • Navigate back to SSMS and manually re-trigger the check:
  DBCC CHECKDB('YourDatabaseName') WITH NO_INFOMSGS, ALL_ERRORMSGS;
  • Confirm that Error 2518 no longer appears in the results grid or the SQL Server Error Log (Management > SQL Server Logs in SSMS, or C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG on Windows Server 2025).

Alternative or Verification Steps

  • Verify the fix: Query sys.configurations where name = 'clr enabled' and confirm both value and value_in_use columns return 1; this confirms the change is active across all sessions, not just pending.
  • Alternative approach: If organizational security policy prohibits enabling CLR globally, consider migrating the computed column logic or CLR UDTs to native T-SQL equivalents (where feasible) to eliminate the dependency entirely.