【问题标题】:Is there anyway to set SQLCMD variables in VisualStudio Schema Compare无论如何在 Visual Studio 架构比较中设置 SQLCMD 变量
【发布时间】:2014-09-18 00:20:47
【问题描述】:

我正在使用 vs2013 数据工具,并尝试对我的数据库项目和不同环境中的数据库进行比较。

但我的 tsql 代码使用同义词访问不同的数据库

我可以使用发布文件进行设置,因为我可以将每个 SQLCMD 变量设置为正确的环境设置,并且在生成脚本时插入正确的 db/server/whatever。

例如

DEV   $(Contoso)  = "Contoso_dev"
TEST  $(Contoso)  = "Contoso_Test"
PROD  $(Contoso)  = "Contoso_Prod"

但是,当我进行数据库比较(使用 .scmp)时,我没有设置 CMDvars 的选项,因此我无法成功与 TEST 环境进行比较,因为同义词是由指向开发人员的项目属性设置的环境。

是否可以在 SCMP 文件中设置 CMDVars

【问题讨论】:

    标签: visual-studio-2013 sql-server-data-tools schema-compare


    【解决方案1】:

    在 VS2015 和 SSDT 14.0.51215.0(2015 年 12 月)中重新审视了这个问题。 (不确定这是否适用于上面列出的原始配置)

    通过设置 cmd 变量的 LOCAL 值,它可以正确地替换 cmd 变量(不管你在看什么数据库服务器)

    (这不起作用,只是设置了默认设置)

    【讨论】:

      【解决方案2】:

      在当前的 SSDT 版本中,无法在架构比较中使用 SQLCMD 变量。 但是有一种解决方法:只需使用正确的 SQLCMD 变量调试您的数据库 (F5),然后将生成的暂存数据库与目标数据库进行比较。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2015-03-10
        • 2013-02-12
        • 2023-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        • 1970-01-01
        • 2017-03-10
        相关资源
        最近更新 更多