Visual Studio 中的 SQL Server 数据库开发






4.89/5 (36投票s)
使用 Visual Studio 2013 创建 SQL Server 数据库项目。
引言
任何软件项目中最具挑战性的任务之一是管理数据库更改并使所有更改保持同步。当我们在多个测试环境或多个服务器中工作时,这项工作会更加困难。与数据库更改不同,由于版本控制的可用性,管理代码更改很容易。对于任何 DBA 来说,跟踪所有更改并将这些更改部署到多个服务器是一项非常负责任的任务。这很容易出错,并且需要大量的测试。
在使用 Visual Studio 的 SQL 数据库项目之前,我们一直面临上述问题。我们可以使用 Visual Studio 非常轻松地开发、管理、比较和部署数据库更改。我们还可以将所有数据库对象更改置于版本控制之下。
SQL 数据库开发自 VS.NET 2010 版本以来就存在于 Visual Studio 中,但在 2013 年,我们有了许多强大的功能。只需单击一个按钮,我们就可以从现有数据库创建新的数据库项目,或者我们可以从头开始创建数据库项目。现在,让我们看看如何从头开始创建数据库项目。稍后,我们将展示如何从现有数据库创建数据库项目。
在 Visual Studio 2013 中创建数据库项目
要创建新的 SQL Server 数据库项目,请打开“新建项目”对话框,然后从那里从默认模板中选择 SQL Server。在右侧窗格中,选择 SQL Server 数据库项目并提供项目名称。我给项目起名为 ProjectTracker.Database
。
一旦我们对项目位置和项目名称满意,就单击“确定”。之后,项目将创建。然后,从解决方案资源管理器转到项目属性,并选择项目设置。将目标平台更改为我们要部署更改的数据库的正确版本。对我而言,我将其选择为 SQL Server 2008。然后,在“属性”按钮下方选择“创建脚本(*.sql 文件)”复选框。我们也可以从“数据库设置”按钮更改数据库排序规则和其他设置。
如果我们观察右侧面板中的 SQL Server 对象资源管理器,我们会发现创建了一个空的数据库,其中没有任何对象。
从解决方案资源管理器中,我们可以以与在 Visual Studio 中处理 Web 项目时添加页面相同的方式添加表、存储过程、函数、视图等对象。在这里,所有对象都将作为脚本文件添加到项目中。添加对象后,我们可以检查它是否在 SQL Server 对象资源管理器中相应节点下可用。
让我们添加一个新表,我们可以看到 Visual Studio 以两种方式打开该表。我们将获得一个设计器视图,并在其下方有一个 T-SQL 编辑器,其中包含创建它的 DDL 语句。我们可以更改其中任何一个,而另一个将自动反映更改。如果您在脚本中进行任何错误的更改,它将立即显示错误列表。
以同样的方式,我们可以添加其他数据库对象。处理数据库项目非常容易。完成后,我们可以以与 Web 项目相同的方式构建项目,然后将它们发布到数据库服务器。
部署数据库
数据库项目上创建的数据库可以轻松发布到服务器。从解决方案资源管理器中,右键单击项目并选择“发布”。在“发布数据库”对话框中,选择“编辑连接字符串”。在“连接属性”中,选择正确的目标服务器。提供所有详细信息后,选择“确定”。由于数据库尚未在服务器上创建,因此“测试连接”现在可能无法正常工作。
如果我们想生成脚本并在服务器上手动执行它们,那么我们可以单击“生成脚本”按钮。它将创建数据库部署脚本,该脚本可以在服务器上执行。
如果我们单击“发布”按钮,Visual Studio 将直接在目标服务器上创建数据库。因此,请确保我们想要将数据库部署到服务器的方式。使用“高级”按钮,我们可以选择许多用于发布数据库的附加选项,例如,重新创建数据库、发布前备份等。
数据库项目中的架构比较
这是数据库项目中每个人都会喜欢的非常酷的功能。我们可以在部署之前将本地开发数据库架构与目标服务器架构进行比较。这样,我们可以轻松地同步所有数据库版本。
从解决方案资源管理器中,右键单击并选择“架构比较”,它将询问源数据库和目标数据库。将源数据库选择为解决方案中的项目,将目标数据库选择为要更新架构的数据库。选择这些后,您可以单击“比较”,它将显示两个数据库中架构的所有差异。从那里,您可以选择差异,并在下面的窗口中显示更改。如果我们想一次性将所有更改移动到目标服务器,我们可以单击“更新全部”。否则,我们可以通过右键单击任何行并选择“排除”来排除某些更改。我们可以使用双向箭头按钮轻松地在源和目标之间切换。如果我们想通过部署脚本将更改移动到服务器,那么我们可以单击“生成脚本”按钮。
我们可以保存架构比较文件以供将来使用。创建一个名为“SchemaCompare”的新文件夹,然后将保存的文件包含在项目中。我们可以为不同的目标服务器拥有大量的架构比较文件。这样,我们可以轻松地与多个部署服务器同步架构。
结论
Visual Studio 数据库项目是一个非常强大的工具,需要非常小心地使用。以上详细信息提供了有关如何创建新数据库项目的基本知识。稍后,我们将从现有数据库创建项目,并尝试许多高级功能。