如何在数据库项目中包含sql文件而不让它由部署过程运行

时间:2012-07-03 14:33:21

标签: visual-studio-2010 sql-server-2008-r2 database-project vsdbcmd

我的数据库项目需要包含一个SQL文件,该命令将在另一个服务器中手动运行,以便为此服务器创建链接服务器。我希望VSDBCMD解析这个文件并将其复制到输出文件夹中并设置其变量。

我唯一能想到的就是将它复制到输出文件夹中,选择复制到输出目录选项复制始终,但文件VSDBCMD不解析它,因此它的变量没有值。

有任何线索吗?

谢谢

1 个答案:

答案 0 :(得分:1)

两个选项:

将部署目标添加到数据库项目文件

配置“我的项目设置”的部署设置。构建解决方案时,构建服务器将使用这些设置。在本地构建时,使用的设置将来自“我的隔离开发环境”。

1-在数据库项目属性

部署操作需要设置为“创建部署脚本(.sql)并部署数据库”;这将阻止脚本的执行,它只会创建它。

2-数据库项目文件

修改数据库项目文件(右键单击数据库项目,选择“卸载”,再次右键单击,选择“编辑[ProjectName] .dbproj”) 从

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

当构建服务器构建包含数据库项目的解决方案时,添加默认目标也将部署数据库。此构建将使用为“我的项目设置”选择的“部署”设置。

赞成   - 易于设置

缺点   - 开发人员必须管理自己的独立开发环境    设置

将调用vsdbcmd

的调用进程添加到构建模板

请按照以下步骤操作:http://msdn.microsoft.com/en-us/library/ff805001.aspx

赞成   - 开发人员无需管理自己的隔离开发    环境设置

缺点   - 每次向数据库项目添加或删除变量时,    需要修改构建模板或构建定义以反映    那些变化