部署数据库项目

问题描述:

在处理VS数据库项目时对我产生了很多困惑。好的,在尝试将数据库项目部署到目标数据库时,如果对象中包含同一数据库的引用,对象(SP,触发器)仍会引用先前的数据库。例如:部署数据库项目

我有一个SP,其中包含一个表名为DBName..TableName。在使用新名称将我的项目部署到目标数据库后,该对象仍然引用同一个DBName,即DBName。现在为了使我的部署能够工作,我将这个硬编码名称更改为$(DBName)变量,并在将数据库部署到目标数据库时作为变量传递。这会在部署时发生错误。因此,我们可以将包含交叉引用或对同一数据库的引用的数据库项目部署到新的数据库目标,并将这些名称完全更改。

只需从数据库项目属性菜单中尝试“发布...”命令(右键单击解决方案资源管理器中的项目)。一旦对话框打开,您可以设置变量的值(例如[$(MyDatabase)]。如果选择“创建发布脚本”-Option,将生成一个脚本,其中包含可设置为目标的SQLCMD-Variables数据库。