如何:为数据库项目定义变量

通过定义 SQLCMD 变量并将它们包括在预先部署脚本和后期部署脚本中,可以将数据库项目部署到多个环境中。 例如,可以为 Service Broker 或服务证书定义 SQLCMD 变量。

如果根据 MSBuild 变量来定义 SQLCMD 变量,则可以为它指定特定于生成配置的值。 作为替代方法,您可以在生成数据库项目时在命令提示符下重写 MSBuild 变量。 不能根据其他 SQLCMD 变量来定义 SQLCMD 变量。 有关 MSBuild 变量的更多信息,请参见 MSBuild 属性

提示

可以在同一个脚本中使用 SQLCMD 变量和 MSBuild 变量。 但是,不应为 SQLCMD 变量提供与 MSBuild 变量相同的名称,因为 MSBuild 变量的优先级高。

变量列表及变量的值存储在数据库项目的“属性”文件夹中。 创建项目时,还可以自动创建文件 Database.sqlcmdvars。 如果希望为每个生成配置提供不同的值,可以定义多个文件并将它们与不同的配置关联。 有关更多信息,请参见如何:为数据库和服务器项目配置部署设置

提示

Visual Studio 为您定义了三个可以在对象定义和脚本中使用的变量。 在您部署项目时,便已设置了这些变量的值。 第一个变量为 $(DatabaseName),它包含要部署到的目标数据库的名称。 第二个变量为 $(DefaultDataPath),它包含目标服务器上存储数据库文件的路径。 第三个变量为 $(DefaultLogPath),它包含目标服务器上存储数据库日志文件的路径。

显示数据库项目的 SQLCMD 变量

  • 在**“解决方案资源管理器”**中,展开要显示其 SQLCMD 变量的数据库项目,展开“属性”文件夹,然后双击要修改的 .sqlcmdvars 文件。

    此时将显示包含 SQLCMD 变量和值的列表。

向 .sqlcmdvars 文件添加 SQLCMD 变量

  1. 显示要向其中添加 SQLCMD 变量的列表。

    有关更多信息,请参见本主题中的第一个过程。

  2. 在“变量名”列中,单击最后一行,然后键入要添加的变量的名称。

  3. 在“变量值”列中,单击刚刚在其中添加了变量名的行,然后键入变量的值。

  4. 在**“文件”菜单上,单击“全部保存”**。

修改 .sqlcmdvars 文件中的 SQLCMD 变量

  1. 显示包含要修改的 SQLCMD 变量的列表。

    有关更多信息,请参见本主题中的第一个过程。

  2. 在“变量值”列中,单击要更改其值的变量所在的行,然后键入新值。

  3. 在**“文件”菜单上,单击“全部保存”**。

从 .sqlcmdvars 文件中删除 SQLCMD 变量

  1. 显示包含要删除的 SQLCMD 变量的列表。

    有关更多信息,请参见本主题中的第一个过程。

  2. 在“变量名”列中,右击要删除的变量所在的行,然后单击**“删除”**。

  3. 在**“文件”菜单上,单击“全部保存”**。

请参见

任务

如何:添加文件和文件组

概念

数据库生成和部署概述

文件和文件组概述