SSMS 中的 SQLCMD 模式

SQLCMD Mode in SSMS

当我部署 SQL 的批次时,我已经开始养成在 SQL Server Management Studio 中切换到 SQLCMD 模式的习惯。我这样做是为了在 SQL 前加上

:on error exit

我忘记了一次,我花了几分钟才清理,因为一些 SQL 已经 运行 并且出现了错误。我知道我可以将 SQLCMD 设置为默认打开,但我的问题是:

默认设置 SQLCMD 模式有什么缺点吗?我会失去 SSMS 中的任何功能吗?


更新 20190321:我已经使用 SQL CMD 模式大约 9 个月了,没有遇到任何问题。

Microsoft 的 documentation 声明:

Enabling SQLCMD mode turns off IntelliSense and the Transact-SQL debugger in the Database Engine Query Editor.

我确实发现这个 question 非常相关并且有助于提供一些见解。

我将在 default 之前启用它。 SSMS 中的 Intellisense 是个笑话,在编写基于集合的代码时,我没有看到逐行调试 SQL 的价值。

更新20190409 我确实发现可折叠区域在 SQLCMD 模式下不起作用;对我来说不是什么大问题,但这可能会影响其他人使用此功能的意愿。