开始对引用其他数据库的数据库进行团队开发

在可以管理对数据库架构的更改之前,需要先创建数据库项目,然后从要管理的数据库中导入对象和设置。 如果数据库中的对象引用另一个数据库中的对象,则还必须在数据库项目的属性中声明所引用的服务器和数据库。 由于数据库项目是数据库的脱机表示形式,因此可以对其进行版本控制,然后将迭代更改部署到独立开发环境中。 团队成员可以独立测试其更改,然后在完全测试这些更改之后,与团队共享这些更改。 通过这种方法,有助于在将数据库代码部署到生产环境之前控制代码的质量。

指定数据库项目的类型

在创建数据库项目时,需要指定与 SQL Server 版本对应的项目类型。 例如,如果要管理的数据库基于 SQL Server 2005,则需指定**“SQL Server 2005 数据库项目”“SQL Server 2005 向导”**。 如果使用向导,则不仅能创建项目,同时还能配置某些生成和部署设置,并导入数据库对象和设置。

导入数据库对象和设置

创建项目之后,可以从数据库实例或脚本导入对象和设置。 导入数据库后,将验证其对象定义,并将无法分析的语句添加到 ScriptsIgnoredOnImport.sql 文件中。

声明对数据库项目和 .dbschema 文件的引用

导入数据库后,必须在项目的属性中声明跨数据库引用来解决这些警告。 声明每个引用时,要定义所引用的服务器和数据库的变量。 对于每个变量,可以根据要向其中部署项目的不同环境指定不同的值。

声明引用时,要指定另一个数据库项目或数据库架构文件 (.dbschema) 作为引用的目标。 生成数据库项目或使用命令行工具导入架构时将生成数据库架构文件。 此外,可以用目标的名称指定此目标,也可以用一个变量指定此目标,在您生成项目时,此变量将被替换为相应的值。 若要简化维护,可以更新数据库项目中的对象,以使这些对象使用变量引用其他数据库中的对象。 有关更多信息,请参见重命名对服务器或数据库的引用。 在生成数据库项目时,这些变量将替换为您指定的值。

如果以下叙述属实,则应引用另一个数据库项目作为目标:

  • 必须对将包含该引用的数据库的和要引用的数据库都进行架构更改。 在部署包含该引用的数据库项目时,将会同时部署所引用的数据库项目。

如果下列任意叙述与您的情形相符,则应引用数据库架构文件 (.dbschema):

  • 必须引用其项目不在当前解决方案中的数据库。

  • 必须部署单个项目,而不部署它所依赖的项目。

  • 要引用的数据库架构不太可能发生变化。 在这种情况下,可以将数据库架构文件 (.dbschema) 签入到版本控制中。

有关更多详细信息,请参见在数据库项目中使用引用

常规任务

常规任务

支持内容

了解有关数据库项目的更多信息:可以了解有关如何使用数据库项目管理架构更改的基本概念。

进行动手练习:可以根据介绍性演练操作,熟悉如何创建独立开发环境,从中可以管理对引用其他数据库的数据库的更改。

为引用的数据库创建 .dbschema 文件:通过创建 .dbschema 文件,即使没有为要引用的数据库创建数据库项目,您也可以引用该数据库。 例如,可能需要引用不在开发过程中的数据库。 如果在命令提示符下导入该数据库的架构,则将创建可在数据库项目中引用的 .dbschema 文件。

将现有数据库架构置于版本控制之下:可以使用数据库项目向导创建项目、配置项目设置以及导入架构。 如果希望以后导入架构,或是如果无权访问要从中导入架构的数据库,则还可以创建空项目。

然后,应创建变量以指定数据库中对象所引用的其他服务器和数据库。 创建这些变量后,应在项目属性中声明引用时使用这些变量。 还可以将对象定义更新为使用变量而不是使用显式引用。 通过使用这些变量,可以根据向其部署数据库的不同环境指定不同的数据库。 例如,可以自动将变量替换为特定于开发、测试、临时和生产环境的值。 声明跨数据库引用后,可以将数据库项目添加到版本控制中。

相关方案

开始数据库的团队开发

对引用共享服务器对象的数据库开始团队开发

开始引用 SQLCLR 对象的数据库的团队开发