You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用SQL Server CLR集成后仍报10335错误,状态异常如何排查?

CLR存储过程创建失败排查方案

问题背景

在SSMS中创建CLR存储过程时触发错误:

Msg 10335,级别16,状态0,过程Usp_CreateGISEvent,第19行
[批处理起始行12]
公共语言运行时(CLR)以不支持的方式加载。
如果SQL Server中运行的扩展存储过程或OLE自动化对象在CLR集成运行时宿主加载CLR之前调用托管代码,就会发生此问题。您需要重启SQL Server才能使用CLR集成功能。

已执行以下语句启用CLR并重启SQL Server:

EXEC sp_configure 'clr enabled', 1;
RECONFIGURE;

但执行select * from sys.dm_clr_properties查询时,state值仍显示**"CLR is not loaded by SQL Server's CLR hosting code"**。

排查方向

  • 检查启动时的CLR阻塞项
    按错误提示,重点排查SQL Server启动阶段是否有提前调用托管代码的情况:

    • 查看是否有启动自动执行的作业、触发器或存储过程调用了OLE自动化(如sp_OACreate系列)
    • 确认是否有第三方扩展存储过程在SQL Server启动时提前初始化了CLR
      可通过SQL Server错误日志搜索CLR加载、OLE自动化相关的启动日志,定位异常触发点。
  • 验证CLR启用配置有效性
    执行以下查询确认配置是否生效:

    SELECT name, value, value_in_use 
    FROM sys.configurations 
    WHERE name = 'clr enabled';
    

    确保value_in_use为1,若仍为0,需检查实例是否处于单用户模式、是否受组策略限制,必要时执行RECONFIGURE WITH OVERRIDE强制生效。

  • 核对.NET Framework版本兼容性
    SQL Server不同版本对.NET Framework有明确要求:

    • SQL Server 2012/2014:支持.NET 3.5/4.x
    • SQL Server 2016+:仅支持.NET 4.x
      确认本地.NET Framework版本匹配且未损坏,必要时修复.NET Framework安装。
  • 检查SQL Server服务账户权限
    SQL Server服务账户需具备访问.NET Framework相关文件和注册表项的权限。若使用低权限账户(如本地服务),可能导致CLR加载失败。可临时切换为本地管理员权限账户,重启服务后测试。

  • 查看CLR宿主详细状态
    执行以下查询获取CLR加载的详细信息:

    SELECT * FROM sys.dm_clr_appdomains;
    SELECT * FROM sys.dm_clr_tasks;
    SELECT * FROM sys.dm_clr_loaded_assemblies;
    

    若视图返回空或异常,结合SQL Server错误日志中CLR相关条目,定位加载失败的具体原因。

  • 检查"clr strict security"策略
    SQL Server 2017及以上版本默认启用clr strict security,未签名的CLR程序集会被拦截。执行以下查询检查配置:

    SELECT name, value, value_in_use 
    FROM sys.configurations 
    WHERE name = 'clr strict security';
    

    若配置为1且程序集未签名,可临时禁用测试(生产环境建议为程序集签名而非长期禁用):

    EXEC sp_configure 'clr strict security', 0;
    RECONFIGURE;
    
  • 排查系统级干扰因素
    确认系统PATH环境变量包含.NET Framework安装路径,且SQL Server进程可正常访问。临时关闭杀毒软件、调试工具等可能拦截CLR加载的程序,重启SQL Server后测试。

内容的提问来源于stack exchange,提问作者Vlad Charny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 00:03:24