我正在运行SSMS 12.0.2000.8
如果我使用SSMS查询编辑器创建一个存储过程(如下面的一个),那么当我执行/保存它时,BEGIN
之前的注解将被删除:
CREATE PROCEDURE myproc
/* Say goodbye to this comment */
@var1 int -- this comment will disappear too
AS
BEGIN
/* This comment is safe */
select 'hello' -- this too shall endure
END
一位同事运行的是相同版本的SSMS,没有出现这样的问题。如果我使用sqlcmd.exe
执行他的一个脚本,注解也会被删除。我认为一定有一个全局设置需要修改,但我不知道它可能在哪里。
4条答案
按热度按时间mutmk8jj1#
我遇到了同样的问题,发现它是由“工具”-〉“选项”-〉“SQL Server对象资源管理器”-〉“脚本"-〉”将用户定义的数据类型转换为基本类型“引起的。
如果为“真”,我会丢失我的评论块。如果为“假”,我的评论块会恢复。
4ioopgfo2#
在观察到一些其他的奇怪之处(即
with execute as caller
被添加到我的脚本中)后,我在谷歌上搜索了一下,发现了答案:**警告:**您将丢失已记忆的SQL Server/用户名/密码的当前列表。
bjp0bcyl3#
我使用SQL Server 2008和SSMS 12.0.2000.8对此进行了测试,这是在“编写存储过程脚本为”-〉“创建到”-〉“剪贴板”之后的结果:
在使用指令码工具之前,您是否尝试使用sp_helptext检查程序中是否有注解?
我也检查了选项,找不到任何与评论有关的东西,或者剥离掉任何类似的东西。
vzgqcmou4#
虽然指定的解决方案对我不起作用,但它确实为我指明了正确的方向。
对我来说,这种行为只发生在单个SQLServer连接上,这是因为“始终加密”设置为“启用”。当我禁用它时,我的注解仍然保留在存储过程代码中。
Screen Shot of SSMS 18.4