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

SQL Server 2019执行OPENJSON函数提示‘OPENJSON' is not a recognized built-in function name’,是否需启用相关功能?

解决OPENJSON未被识别的问题

这个问题我之前也碰到过,OPENJSON虽然在SQL Server 2016及以上版本就支持,但有几个容易踩的坑,咱们一步步排查:

  • 确认连接的实例确实是SQL Server 2019
    有时候SSMS会默认连接旧版本的实例,或者你安装了多个SQL Server版本没注意切换。先运行这个查询验证:

    SELECT @@VERSION;
    

    确保返回结果里明确是Microsoft SQL Server 2019 - 15.0.4236.7 (X64),如果不是,说明你连接错了实例,切换到2019的实例即可。

  • 核实数据库兼容性级别达标
    OPENJSON要求数据库的兼容性级别至少为130(对应SQL Server 2016),你提到设置的是150,但最好实际查询确认:

    SELECT name, compatibility_level 
    FROM sys.databases 
    WHERE name = '你的数据库名称'; -- 替换为mytable所在的数据库名
    

    如果查询结果里compatibility_level低于130,执行下面的语句修改:

    ALTER DATABASE 你的数据库名称 
    SET COMPATIBILITY_LEVEL = 150; -- 130及以上版本都可支持OPENJSON
    
  • 检查查询上下文
    确保你是在目标数据库的上下文里执行查询,比如先运行USE 你的数据库名称;,再执行SELECT OPENJSON ([fieldname]) FROM mytable;,避免因为选错数据库导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 21:52:49