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

Azure SQL Database执行sp_executesql报错:版本不支持该存储过程

Azure SQL Database执行sp_executesql报"不支持"错误的排查原因

虽然sp_executesql完全支持Azure SQL Database,但出现'sp_executesql' not supported on this version of SQL Server报错,通常是以下几种情况导致:

  • 连接目标错误
    实际并未连接到Azure SQL Database,而是连接到了旧版SQL Server实例(如SQL Server 2005及更早版本,这些版本对sp_executesql的支持存在限制)。可执行SELECT @@VERSION确认当前连接的数据库环境版本及类型。

  • 数据库兼容级别过低
    如果当前Azure SQL Database的兼容级别设置低于100(对应SQL Server 2008),可能触发兼容性报错。执行SELECT name, compatibility_level FROM sys.databases WHERE name = DB_NAME()查看兼容级别,建议调整为150(当前推荐级别)或不低于100。

  • 语法或参数定义错误

    • 检查@ParmDefinition的参数声明是否规范,比如输出参数需明确标记OUTPUT,示例正确格式:@ColumnMetadataOUT NVARCHAR(MAX) OUTPUT,确保参数类型、长度与实际使用匹配。
    • 验证@ColumnMetadataSQL中的动态SQL语句本身是否存在语法错误,部分语法问题会被包装为不相关的版本兼容报错。

根据微软官方文档说明:sp_executesql是支持Azure SQL Database的系统存储过程,用于执行带参数的动态SQL,相比直接拼接SQL语句,它能提升执行计划重用率并降低注入风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:50:53