是否可以在脚本中自动强制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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...