微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/mssql/81049.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐