【问题标题】:Can I create a dacpac including data in SQL Server 2008?我可以在 SQL Server 2008 中创建包含数据的 dacpac 吗?
【发布时间】:2018-07-23 12:07:45
【问题描述】:

我可以在 SQL Server 2008 中创建包含数据的 DACPAC 吗?

我的要求是生成数据库更改的增量脚本,我可以使用 BACPAC 来实现吗?

我尝试阅读此内容,但这并没有多大帮助:

https://msdn.microsoft.com/en-us/library/jj860455(v=vs.103).aspx

【问题讨论】:

  • A DACPAC always 包含 only 数据库的结构。如果你也想要数据 - 你需要一个BACPAC
  • 我的要求是生成数据库更改的增量脚本,我可以使用 BACPAC 来做到这一点吗?我还从这个 msdn url 中读到了关于在 dacpac 中包含数据的信息。msdn.microsoft.com/en-us/library/jj860455(v=vs.103).aspx
  • “提取数据层应用程序”将包含向导中的“选择数据”选项,我无法使用该选项
  • 您可以从数据库中提取 .dacpac。 Extract 从实时 SQL Server 或 Windows Azure SQL 数据库创建一个数据库快照文件 (.dacpac),该文件可能包含来自用户表的数据以及来自 MSDN 的数据库架构
  • @Saranya, Extract 创建一个 DACPAC(仅模式),而 Export 创建一个 BACPAC(模式和数据)。 DACPAC 可用于生成增量部署脚本以升级数据库,同时将现有数据保留在目标中。 BACPAC 可用于创建具有模式和数据的新数据库。 limitations state SQL Server 2005 SP4 or later is required.

标签: sql-server sql-server-2008 dacpac bacpac


【解决方案1】:

您可以使用SqlPackage.exe工具手动找到动作here。

将导出操作用作:

sqlpackage.exe /action:Export /TargetFile:"test.bacpac" 
    /sourceDatabasename:test 
    /sourceservername:.\testserver

将提取操作用作:

sqlpackage.exe /action:Extract /TargetFile:"test.dacpac" 
    /sourceDatabasename:test 
    /sourceservername:".\testserver"
    /p::ExtractAllTableData=true

默认情况下,所有表格的数据都将包含在 .bacpac 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2017-10-18
    相关资源
    最近更新 更多