【问题标题】:How to install sp_whoisactive procedure如何安装 sp_whoisactive 程序
【发布时间】:2023-01-07 22:28:42
【问题描述】:

在我的 SQL Server 2019 Developer Edition 上安装 sp_whoisactive(版本 v11_30)时,出现错误:

消息 319,级别 15,状态 1,过程 sp_WhoIsActive,第 198 行 [批处理开始第 11 行]
关键字“with”附近的语法不正确。如果此语句是公用表表达式、xmlnamespaces 子句或更改跟踪上下文子句,则前一个语句必须以分号结尾。

消息 102,级别 15,状态 1,过程 sp_WhoIsActive,第 201 行 [批处理开始第 11 行]
',' 附近的语法不正确。”

所有数据库的兼容级别都是 140/150。

我应该检查什么?

谢谢你的帮助。

【问题讨论】:

  • 我无法使用 11.30 或 11.32 进行重现,这些行号让我觉得您的脚本发生了其他问题,因为 sp_whoisactive 直到第 350 行左右才从 cmets 中退出,而且我无法在过程中发现任何东西即使您使用的不是您认为的 SQL Server 版本,该消息也会失败。
  • (顺便说一句,您是否考虑过尝试v12.00
  • 谢谢亚伦,我试过 v.12(来自 Github),同样的错误。我知道,程序没问题,但仍然:我有 3 个 SQL 实例(一个 AVG),我在这 3 个实例上收到相同的错误消息……这很奇怪……
  • 我不确定 AVG 是什么,但没有发生在我们身上,也没有任何方法可以准确验证您正在运行的内容以及我不知道这里的任何人如何能够帮助您进行故障排除。似乎您正在运行的脚本已被破坏,或者您在 SSMS 中的批处理分隔符已从 GO 更改为其他内容,或者您​​根本没有运行您认为自己或在哪里运行。我建议尝试从不同的机器或安装了全新 SSMS 的 VM 来排除您可能对自己所做的事情。
  • 这绝对不是 Availability Group 的常用首字母缩写词,因此我真的建议不要尝试将其作为一个首字母缩写词。 :-) 但是,它是否是可用性组与问题无关。

标签: sql-server


【解决方案1】:

当您将 SSMS 设置为在连接上使用“始终加密”时,当前会出现此问题。

当您重新安装它时,它会忘记允许创建成功的设置。

启用此选项后,它会将批处理解析为语法树,以确定它需要为自动参数化所做的更改。

转换后的文本只是从抽象语法树生成的,并且有各种变化——包括不在 END 关键字后附加分号,而 causes the problem in this case

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    相关资源
    最近更新 更多