是否可以在脚本中自动强制SQLCMD模式?

前端之家收集整理的这篇文章主要介绍了是否可以在脚本中自动强制SQLCMD模式?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在使用Visual Studio数据库专业版,它大量使用sqlCMD变量来区分各种环境之间的部署.

我知道有几个可用于设置上下文的指令(例如:连接服务器名称).脚本本身有没有办法强制执行sqlCMD模式?我们的部署过程的一部分是让DBA检查并执行脚本,这将是一个不错的安全网(所以我不必提醒他们将执行模式设置为sqlCMD).

解决方法

不是一个解决方案,但作为一个解决方案,您可以嵌入您的脚本在一些警告. This post启发我这段代码
SET NOEXEC OFF; -- prevIoUs execution may have toggled it
:setvar IssqlCmdEnabled "True"
GO
IF ('$(IssqlCmdEnabled)' = '$' + '(IssqlCmdEnabled)')
BEGIN
  PRINT('Use sqlCmd-mode!!');
  SET NOEXEC ON;
  -- RAISERROR ('This script must be run in sqlCMD mode.',20,1) WITH LOG
END
ELSE
BEGIN
  PRINT('Using sqlCmd-mode')
  -- insert the code you really want to execute:
  -- ...
END
SET NOEXEC OFF; -- do not disable next execution in this session

猜你在找的MsSQL相关文章