问题标签 [dacpac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2648 浏览

sql-server - SqlPackage.exe 耗时较长

因此,我们正在努力添加 SQL DACPAC,作为我们持续集成的一部分。我们使用带有每个 DacPac 文件的运行“sqlpackage.exe”的 powershell 脚本来执行此操作。我们有大约 12 个 DB,所以大约有 12 个 DacPac。

每次我们运行“sqlpackage.exe”来发布或编写 DacPac 脚本时,我们都会注意到完成初始化需要 0.5-1+ 分钟。当“sqlpackage.exe”开始时,大部分时间都在初始化流程中使用。

如果可能的话,我正试图找到一种方法来减少这种情况,因为我们有 12 个数据库,我们谈论的数据库部署至少需要 12 分钟,这对我们来说太多了。

你知道有什么方法可以减少这种情况吗?

0 投票
2 回答
581 浏览

dacpac - dacpac 到 dacpac 的比较和部署到数据库的问题?

两年前在 SQL Server 论坛上,关于 TEST DACPAC (READY) <=> Production DACPAC 与部署到 Production DB Server 的比较的类似问题。

显然这是由 MS 的某人建议的,不推荐。这仍然相关吗?我们希望自动化我们的部署,使用 DACPAC 比较实现持续构建和部署。

如果您认为不推荐使用 DACPAC,请提供原因?你会建议什么?

URL 链接到原始 SQL 论坛问题: https ://social.msdn.microsoft.com/Forums/sqlserver/en-US/a1e5fb60-3283-4acc-b793-cb28e327dd39/using-dacpac-files-in-an-integrated -部署过程?论坛=ssdt

0 投票
1 回答
66 浏览

database - How I know any particular one command is failed while deploying/publishing data in Database?

I have created database project in visual studio 2013. Project build successfully . In this project I have inserted some test data in post deployment. If any data failed to insert then how can know the one of script is failed at particular location.

Actually I want to rollback all the thing if any command is failed from script file itself. Since SQL Server 2012 is not supporting rollback from pre/post deployment script.

0 投票
1 回答
6293 浏览

sql-server - 如何在使用 DACPAC 的 SQL Server 中将可空列更新为不可空

我正在尝试更新使用 Visual Studio 2012 中的数据库项目 ( .sqlproj) 维护和部署的数据库。使用 SQL Server Management Studio 更容易,但在这种情况下,我必须使用 DACPAC 进行部署。

使用 DACPAC 将列更改为不可为空且不冒数据丢失风险的正确方法是什么?

可空列已添加到表中。现在我需要发布一个更新,将列设置为不为空并设置默认值。因为表中有行,所以更新失败。有一个“允许数据丢失”的设置,但这不是我们的选项,此更新不应导致数据丢失。这是一个显示问题的简单示例:

现在发布该数据库并添加行,至少一行应该有一个空的 HelloString。

将表定义更改为:

这不能发布。

错误:

检测到行。架构更新正在终止,因为可能会发生数据丢失。

接下来,我尝试添加一个预部署脚本以将所有 NULL 设置为“Hello”:

此发布尝试也失败,并出现相同的错误。查看自动生成的发布脚本很清楚为什么,但这似乎是不正确的行为。

  1. NOT NULL添加默认值之前应用更改
  2. 该脚本检查任何行,是否有空值都没有关系。

评论中的建议(为避免此问题,您必须为所有行向该列添加值)并不能解决此问题。

见于 SQL Server 2012 (v11.0.5343)、SQL Server Data Tools 11.1.31009.1

0 投票
1 回答
2215 浏览

sql-server - sqlcmd 变量的缺失值

我已经使用 Visual Studio 构建了数据库项目。构建成功后,我正在尝试使用 .dacpac 文件升级我的数据库。我在这个项目中使用链接服务器。但是我已经提到了所有细节,它仍然给我以下错误。我在数据库项目中设置变量名。

在此处输入图像描述

0 投票
1 回答
191 浏览

sql-server - 我可以在不知道连接字符串的情况下使用数据库项目管理数据库吗?

我已经创建了数据库项目。我可以升级我的 sql server 中的更改。现在我已经在另一个环境中部署了相同的更改。我t want to change my previous data. I don也不必访问那个 Sql 服务器,所以我不知道连接字符串。

我有一些选择,比如部署 .dacpac 文件或 .sql 脚本,但它首先删除数据库然后创建新数据库。所以我丢失了我的数据。

请帮我。如果有任何选择?

0 投票
2 回答
1345 浏览

sql-server - 使用最新版本的 SSDT SqlPackage.exe 部署 SQL Server dacpac 会删除列默认值

我们使用 Visual Studio 数据库项目和 SSDT 来版本化和部署我们的 SQL Server 架构。我们将项目编译为 dacpac 文件,然后根据需要使用 SqlPackage.exe 针对 SQL Server (2008 R2) 实例发布该 dacpac。

我们最近从 VS 2013 升级到 VS 2015。有一段时间我们仍在使用旧的 SqlPackage.exe(来自 VS 2013 SSDT)的副本来部署我们的 dacpacs。然而,我们刚让一些新员工开始工作,发现在他们的机器上,使用旧的 SqlPackage.exe 部署 dacpac 失败。(从未安装过 VS 2013 并且缺少 DLL。)我用新的 SqlPackage.exe(和相关文件)替换了旧的 SqlPackage.exe(和相关文件)。dacpacs 现在部署成功。

问题:使用新版本的 SqlPackage.exe 部署 dacpac 不会部署列默认值(例如 NEWSEQUENTIALID())。这显然是不可接受的,但恢复到旧版本的 SqlPackage.exe 会破坏我们一些开发人员的部署。这是 SSDT 的错误还是我不知道的重大更改?是否有一些配置可能设置不正确?

0 投票
0 回答
413 浏览

sql-server - 在 DAC(.dacpac) 中使用版本控制的最佳方法是什么?

我正在使用数据库项目以持续部署方式部署数据库以及 QA Server 数据库部署。但是我仍然对使用 .dacpac 版本有很多困惑吗?

另外,如果我有 .dacpac 1.0、2.0、3.0、4.0。现在我在我的数据库中使用了 4.0 版,但是在某些情况下,我需要在同一个 Sql Server 上使用 dacpac 3.0 版。可能吗?如果是,那么我怎样才能达到同样的效果?

0 投票
1 回答
1720 浏览

visual-studio-2013 - 如何在 dacpac 中为部署后脚本创建日志?

我正在使用 SQL 服务器数据库项目。要部署 .dacpac 文件,我使用带有命令行参数的 SqlPackage.exe。

使用 Action: DriftReport,我可以创建对象的日志(添加/更新/修改)。但我仍然无法为部署后脚本创建日志(插入、更新等操作)。

有没有办法为成功和失败的数据插入创建报告。

0 投票
3 回答
728 浏览

sql-server - 并行 Dacpac 部署 - 禁用依赖项?

在我的公司,我们正在做 CI 和 CD 并使用 SqlPackage 来部署 dacpacs。

由于每个 Dacpac 都需要一段时间,我们并行运行它们。但有时我们会遇到依赖关系方面的问题 - 例如:正在部署 DB A,但依赖于同时部署的 DB B(例如存储过程依赖关系)

有什么方法可以运行带有一些标志或其他东西的 sqlpackage 来忽略这些依赖关系并且在部署时不会失败?

谢谢