我开始学习Visual Studio 2013的SSDT-BI,我们使用另一个应用程序使用的预先存在的第三方数据库(我们将其添加到现有数据库中作为工作的一部分)。
DACPAC只能更新某些数据库对象(“如果不存在,则删除并创建...”),还是必须包含整个数据库?
我基本上是在寻找替换我们现有的脚本(所有这些脚本基本上都是“如果对象存在,删除对象,然后创建对象”),并使用SSDT-BI的一些功能,如编译,源代码控制,更好的部署包等,我想知道这在我使用的现有数据库场景下是否可能实现。到目前为止,我所尝试的一切都导致DACPAC删除并重新创建整个数据库,这不是我们想要的。
任何关于我们如何使用BI工具来实现这一目标的帮助或见解都将不胜感激。
发布于 2014-06-25 06:57:00
默认情况下,如果您使用的是SSDT SQL项目和dacpacs,则不应该删除并重新创建数据库中的每个对象。有一个在发布时启用此功能的选项,但如果您在发布和/或另存为发布配置文件时点击选项,则很容易禁用此选项。
SSDT会将数据库存储为包含表、函数、过程、用户等文件夹的结构中的SQL文件。SSDT将从那里读取预期结构,在发布时生成dacpac,将dacpac与实际数据库进行比较,然后使数据库看起来像项目。这将导致根据需要添加/删除/重命名对象。(尽管如果在项目中找不到对象,您也可以选择不删除它们--我发现对于生产版本来说,这样做更安全一些。)
我在博客上写了很多关于SSDT的文章(感谢很多帮助我入门的人),这些文章可能会对您有所帮助。它们实际上不是"BI“工具,只是直接的SSDT,而不是SSDT-BI。微软在命名这些工具集方面做得不太好,他们承认至少通过将SSIS/SSAS工具调整为SSDT-BI。:)
http://schottsql.blogspot.com/2013/10/all-ssdt-articles.html
https://stackoverflow.com/questions/24392532
复制相似问题