我很难弄清楚如何使用 Visual Studio 2012 实际创建甚至打开 DAC 应用程序。我使用的是 SQL Server 2012。我安装了 SSDT。

从 Visual Studio 创建:

根据在线文档,我应该能够看到名为“数据层应用程序”的项目模板,但我看到的只是 SQL Server 数据库项目。他们是一样的吗?

从 SSMS 创建:

在一个在线视频中,演示者正在使用 SSMS -> 数据库 -> 右键单击​​ -> 创建项目菜单项,并在向导后弹出一个 VS 项目。我没有这个菜单项,我有的是任务-> 导出为数据层应用程序。这会创建 DACPAC 文件,但不会创建 VS 项目,我无法弄清楚如何从 VS 打开 dacpac。

最佳答案

DACPAC 的目的是提供数据库架构的可移植表示,可用于将该架构部署到数据库,将其导入 Visual Studio 中的数据库项目,并用于架构比较等功能以检查之间的差异不同的来源。每当您在 Visual Studio 中构建数据库项目时,都会生成一个 .dacpac 文件,然后可以使用该文件将该项目中定义的架构部署到数据库。

完整信息的最佳位置是 SSDT help ,但我会给你一个快速总结。

如果您已经拥有 DACPAC,则可以通过以下方式在 VS 中使用它:

  • 通过在解决方案资源管理器中右键单击项目并选择“导入 -> 数据层应用程序 (*.dacpac)”,将架构导入到项目中。然后选择你的dacpac,内容将被转换成SQL Scripts并添加到项目
  • 通过打开 SQL Server 对象资源管理器,导航到服务器,右键单击数据库并选择“发布数据层应用程序...”,将 dacpac 发布到数据库。这会将 DACPAC 的内容发布到该数据库上的数据库服务器。您可以通过右键单击数据库列表中的数据库来更新数据库。请注意,如果 SQL Server 对象资源管理器 View 未打开,您可以选择“查看 -> SQL Server 对象资源管理器”以确保它出现。

  • 要在 Visual Studio 中创建 DACPAC,您可以
  • 构建项目。这会在 bin\Debug 目录中创建一个 dacpac(假设您在 Debug 模式下构建)。
  • 项目快照。这将创建一个 dacpac 并将其保存在项目中。跟踪数据库架构的时间点版本并将数据库的先前版本与最新定义进行比较非常有用。
  • 在 SQL Server 对象资源管理器中右键单击一个数据库并选择“提取数据层应用程序...”这将创建一个表示数据库内容的 dacpac。

  • 最后,我不确定您观看了什么视频,但它们可能显示在 SQL Server 对象资源管理器中右键单击数据库并从那里创建项目。这是使用数据库项目开始开发的一种非常常见的方式,因为通常您已经拥有一个包含架构的数据库。通常,最佳实践是使用项目进行开发,并在部署到不同环境(例如生产服务器)时使用 dacpacs(可能还有命令行部署工具,如 SqlPackage.exe)(同样,dacpacs 非常适合传输架构定义和部署它们)不同的环境)。希望这有助于回答您的问题!

    关于sql-server - 如何在 Visual Studio 2012 中创建/打开 DAC 应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20804345/

    10-16 12:24