首页 > 解决方案 > 这是 Azure SQL 中的 SQL 错误吗

问题描述

我刚刚发现了一个我认为是 Azure SQL 中的错误。Microsoft SQL Azure (RTM) - 12.0.2000.8

知道这里发生了什么吗?

create procedure dummyProc
as

declare @myVar nvarchar(20) = 'data'

select myVar = @myVar
into #temp

图片 执行代码会产生错误:

消息 156,级别 15,状态 1,第 1 行关键字“PROCEDURE”附近的语法不正确。消息 8180,级别 16,状态 1,过程 sp_describe_parameter_encryption,第 1 行 [Batch Start Line 0] 无法准备语句。执行批处理时出错。错误信息是:内部错误。语句或过程“CREATE PROCEDURE dummyProc AS DECLARE @myVar AS NVARCHAR (20) = @p10c873e7e2034dd29022eb675d63dfbb; 选择 @myVar 作为 myVar INTO #temp; ' 在 sp_describe_parameter_encryption 返回的结果集中缺失。

标签: azure-sql-database

解决方案


感谢您报告此问题。这确实是 SSMS 中的一个问题,遗憾的是,它仍然是最新版本的 SSMS 18.x 中的一个问题。

问题是参数化试图在 create stored proc 语句中参数化声明语句。

我们(SSMS 团队)将尽最大努力在未来版本的 SSMS 中解决这个问题。

在此期间,解除阻塞的建议方法是禁用参数化,方法是转到“工具 | 选项 | 查询执行 | SQL Server | 高级”并确保未选中“为始终加密启用参数化”。


推荐阅读