在 Visual Studio 中创建和管理数据库和数据层应用程序

您可以使用数据库项目来创建新数据库、新数据层应用程序 (DAC),以及更新现有数据库和数据层应用程序。 利用数据库项目和 DAC 项目,您都可以将版本控制和项目管理技术应用于数据库开发工作,采用的方式与将这些技术应用于托管代码或本机代码大致相同。 您可以帮助开发团队管理对数据库和数据库服务器的更改,方法是创建 DAC 项目、数据库项目或服务器项目,并将其置于版本控制之下。 然后,团队的成员将能够签出文件,以便在独立开发环境(或沙盒)中进行更改、生成更改和测试更改,之后再与团队共享这些更改。 为了帮助确保代码质量,您的团队可以针对临时环境中的特定数据库版本完成和测试所有更改,之后再将这些更改部署到生产。

有关数据层应用程序支持的数据库功能的列表,请参见 Microsoft 网站上的 Features Supported in Data-tier Applications(数据层应用程序中支持的功能)。 如果您在数据库中使用数据层应用程序不支持的功能,则应改为使用数据库项目管理对数据库的更改。

在 Visual Studio 中使用数据库功能

如果您已经安装 Visual Studio 高级专业版或 Visual Studio 旗舰版,则有权访问此处以及 Visual Studio 文档的“开发应用程序”一节中描述的所有数据库功能。 如果没有 Visual Studio 高级专业版或 Visual Studio 旗舰版,但具有 Visual Studio 专业版,则只能使用其中一部分功能。

下表说明了除 Visual Studio 高级专业版和 Visual Studio 旗舰版 之外的 Visual Studio 版本中的限制:

功能区域

限制

数据库项目(包括数据层应用程序)

可以创建、修改、生成和部署数据库项目,具体操作方法与 Visual Studio 高级专业版和 Visual Studio 旗舰版中的操作方法相同。

导入对象和导入脚本

可以从数据库或脚本中导入对象和设置,具体操作方法与 Visual Studio 高级专业版和 Visual Studio 旗舰版中的操作方法相同。

数据库单元测试

可以运行数据库单元测试,但无法创建新测试、查看测试或修改测试。

数据生成

只能作为现有数据库单元测试的一部分生成数据。 无法创建、查看、修改或手动运行数据生成计划。

架构比较

无法比较架构。

数据比较

无法比较数据。

Transact-SQL 编辑器

可以使用编辑器的所有功能,具体使用方法与 Visual Studio 高级专业版和 Visual Studio 旗舰版中的使用方法相同。

数据库重构

无法使用数据库重构。

数据库代码分析

无法使用数据库代码分析。

常见高级任务

高级任务

支持内容

入门教程: 您想了解如何使用数据库功能的Visual Studio来管理您的数据库的更改。

启动数据层应用程序的发展: DAC 是一个新的概念,引入的SQL Server 2008 R2,它包含定义的SQL Server实例对象所使用的客户端-服务器或 3 层应用程序的数据库和支持。 DAC 包括数据库对象(例如表和视图)以及实例实体(例如登录名)。 您可以使用 Visual Studio 来创建 DAC 项目、生成 DAC 数据包文件,以及将该 DAC 数据包文件发送到数据库管理员以便部署到 SQL Server 数据库引擎的实例上。

启动一个数据库或服务器项目的发展: 若要管理变化Visual Studio 高级专业版,您首次创建数据库项目或服务器项目。 大多数情况下,您的团队都会更新已包含某些对象和设置的现有生产数据库或服务器。 您可以将这些对象和设置导入项目,并使用希望团队使用的设置对项目进行配置。 您还可以建立一个计划,开发人员和测试人员将使用该计划来生成测试数据。 准备好和团队的其余成员共享项目及其设置时,可将与该项目关联的文件置于版本控制之下。

执行迭代数据库开发: 如果您是开发人员或测试人员,您签出项目的部分,然后在孤立的开发环境中对它们进行更新。 通过使用这种类型的环境,您可以测试这些更改,而不会影响团队的其他成员。 完成更改后,可将文件重新签入到版本控制中,其他团队成员可在其中获取更改,并生成更改然后将它们部署到测试服务器。

避免更改现有数据库的代码: 如果您运行现有的数据库单元测试之前与团队共享您的更改,或将它们部署到生产环境中,您可以减少冒犯的应用程序行为的风险。 作为单元测试的一部分,您可能会通过运行现有数据生成计划来生成测试数据。

构建和部署到暂存或生产环境的数据库: 如果您为您的团队作为数据库管理员,您可以到暂存或生产环境中部署数据库项目或服务器项目的版本。

原型,验证测试结果,并修改数据库脚本和对象: 您可以使用Transact-SQL编辑器来执行任何这些常见任务之一。

请参见

概念

管理数据库更改