SQL Server scrtipting丢失已编译脚本的原始格式

问题描述 投票:-1回答:1

有没有人经历过这个并提出解决方案?

Windows Server 2012R2上的SQL Server 2016 Enterprise

使用SSMS的脚本工具,最近似乎发生了一些变化。 SQL Server脚本引擎的输出与我编写脚本的存储过程的方式不同,例如,更长;差远了。

我已经使用了这些工具很长一段时间,虽然有一些细微差别,但这对我的编码约定和源代码控制有影响。 SQL服务器脚本的输出 - 参数放在一行,缩进丢失,连接分成多行,大小写被更改。 :

CREATE PROCEDURE [dbo].[GetAdverseReaction]
@ID INT
AS
SELECT arc.CategoryName,
       ar.*
FROM   AdverseReaction AS ar
       INNER JOIN
       AdverseReactionCategory AS arc
       ON arc.ID = ar.CategoryID
WHERE  ar.ID = @ID;

-- input --
CREATE PROCEDURE GetAdverseReaction
(
    @ID int
)
AS
    SELECT arc.CategoryName, ar.* 
        FROM AdverseReaction ar
            INNER JOIN AdverseReactionCategory arc ON arc.ID = ar.CategoryID
        WHERE ar.ID = @ID

GO

请参阅下面的答案并在此处阅读更多内容:Parameterization for Always Encrypted

sql-server ssms
1个回答
0
投票

我在SSMS“查询选项”中找到复选框“始终加密启用参数化”,脚本在执行之前按照描述重新格式化。我取消选中,事情恢复正常。我猜这是特定于此版本的SSMS。即> = 17

© www.soinside.com 2019 - 2024. All rights reserved.