1

我有一个正在使用 SQL Server 数据库的 Visual Studio 2010 中开发的应用程序。因此,我使用的是 VS SQL Server 2008 数据库项目。

数据库项目需要一个用于构建数据库的目标连接。

问题:

该项目受开发人员团队和构建服务器的源代码控制。一些开发人员将他们的 '08 SQL Server 实例命名,而其他开发人员则使用默认实例。仅使用“本地”语法的想法是不够的。

我需要能够在源代码控制之外配置数据库项目连接。我看到数据库项目提供了一个 SQL 命令变量文件,这是我想要的吗?

解决此问题的最佳实践方法是什么?

我正在使用 MSBuild 作为我的构建服务器的一部分 - 这种方法如何适合 MSBuild?

4

2 回答 2

4

Visual Studio 2010 数据库项目属性“部署”选项卡包含一个标记为“配置部署设置:”的下拉菜单。此下拉菜单提供两个选项“我的项目设置”和“我的隔离开发环境”。此设置允许隔离您的本地开发设置和将持久保存到 .dbproj 文件的项目设置。

在您的场景中,清除当前分配给“我的项目设置”的“目标连接”,然后提交到存储库将解除共享连接设置。 您还可以清除“目标数据库名称:”设置,让构建过程控制为其指定值。 完成此操作后,开发人员可以自由选择“我的隔离开发环境”并配置连接设置,而无需将它们提交到存储库,而是在其中进行部署。

然后,构建过程将通过执行以下操作来控制: msbuild.exe {projectName}.dbproj /target:Deploy /property:TargetDatabase={targetDatabaseName};TargetConnectionString="{targetConnectionString}" 您可以选择删除“ TargetDatabase”属性有利于项目提供此值。

于 2010-08-19T17:10:13.367 回答
2

您可以为 SQL Server 的任何实例设置别名。这样,每个人都可以定位“别名”,而不仅仅是“本地”。

您可以在此处找到有关如何配置别名的一些信息: https ://serverfault.com/questions/60738/how-to-create-an-alias-for-a-named-sql-server-instance

于 2010-08-13T17:51:45.517 回答