在本文中,我们将学习Visual Studio中可用的SQL Server数据库项目(模板)。我将谈以下几点:

数据库在任何应用程序中都扮演着非常重要的角色,当表、视图、存储过程的数量增加时,管理项目就变得非常困难。

考虑这样的场景:多个开发人员正在为下一个版本的项目工作,其中一些人正在处理bug或添加新特性,这同样需要对数据库进行一些或许多更改。大多数情况下,开发人员会手动记录DB(数据库)的更改。有时他们会忽略一些在生产中造成成本的变化。在许多情况下,Dev、UAT和production DB是不同的,这也是识别差异的麻烦。

市场上有很多工具可以用来比较数据库,但都是昂贵的或付费的解决方案。

因此,在本文中,我们将讨论并学习Visual Studio中的SQL Server数据库项目with,它是免费的。

先决条件

Visual Studio(2013, 2015, 2017,或2019)和MS SQL Server。我使用VS 2019和SQL Server 2017 Developer进行演示。

介绍

您可以创建一个新的数据库项目,并从现有数据库、.sql脚本文件或数据层应用程序(.bacpac)导入数据库模式。然后,您可以调用用于连接数据库开发的相同的可视化设计器工具(Transact-SQL编辑器、表设计器),对脱机数据库项目进行更改,并将更改发布回生产数据库。还可以将更改保存为稍后发布的脚本。使用Project Properties窗格,您可以将目标平台更改为不同版本的SQL Server(包括SQL Azure)。

创建新的SQL Server数据库项目

打开Visual Studio并创建一个空白的解决方案,如下所示:

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(1)

在解决方案下添加新项目

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(2)

从左面板选择SQL Server和SQL Server数据库项目。为项目提供一个名称(这里,我将名称作为SampleAccount.)。该模板用于创建SQL server数据库。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(3)

下一步是从现有数据库导入数据库方案。

从项目的现有数据库、.sql脚本文件或数据层应用程序(.dacpac)导入数据库模式。

因此,右键单击项目并选择import。有三个选项:数据层应用程序(.dacpac)、数据库、脚本(.sql)。

在这里,我使用Database选项,因为我将从MS SQL数据库导入,如下所示。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(4)

现在您将看到如下所示的屏幕。此选项可用于提供连接字符串。有从本地、网络或Azure选择数据库的选项,因此您可以根据您的数据库选择该选项。或者,您可以输入服务器名称、身份验证类型和凭据直接连接到数据库服务器。然后选择要导入并保存在项目中的数据库。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(5)

接下来,我们必须设置导入设置。有一些选择,

在我的例子中,我选择了如下所示的选项。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(6)

单击Start,将显示进度窗口,如下所示。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(7)

完成后,我们可以看到项目中的表、视图和存储过程,如下所示。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(8)

最后,我们成功地创建了SQL server数据库项目。现在我们可以使用这个项目从解决方案本身发布和创建新的数据集。

现在,我将展示如何从这个SQL server数据库项目在SQL server中发布和创建新数据库。

发布以在SQL server中创建新数据库

我们可以使用具有相同模式的SQL Sever数据库项目从Visual Studio中轻松地直接创建新的数据库。

右键单击项目并选择publish选项,如下所示。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(9)

提供连接

服务器名称、身份验证类型、凭据。如果要作为新数据库发布,则选择默认数据库或选择要发布的特定数据库。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(10)

您可以看到新数据库并发布SQL server数据库,如下所示。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(11)

让我们探索带有更多规则和选项的高级选项。

选项有:

部署的行为

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(12)

此外,还有几个高级部署选项,如:使用目标排序、禁用和重新启用DDL触发器、不更改更改数据捕获对象、不更改复制对象、删除统计信息而不是源、包括复合对象、包括事务脚本、填充文件或文件组等几个选项,如下所示。

然后,在高级选项中单击ok并发布数据库。

如何用vs写数据库软件(如何用VS去创建SQLServer数据库项目)(13)

现在,您的数据库已经在SQL server中创建,您可以登录到SQL server并进行检查,如下所示。

最后,我们成功地从Visual Studio、SQL server数据库项目中创建了一个数据库。

结论

在本文中,展示了如何在Visual Studio中创建SQL server数据库项目并导入SQL数据库。我们可以使用这个项目模板从Visual Studio本身导入开发数据库并最终发布到UAT、产品或其他服务器。此外,我们还探讨了数据库导入和发布过程中的一些高级选项。对于这个项目,我们有一些额外的有用选项或用例,比如比较和识别两个数据库(开发和生产)中的差异,然后我们可以生成更新的脚本,或者直接从项目中更新。

,