SQL Server数据库项目结构

时间:2014-06-24 17:12:19

标签: visual-studio-2013 ssms sql-server-data-tools dacpac ssdt-bi

我开始为Visual Studio 2013学习SSDT-BI,我们使用另一个应用程序使用的预先存在的第三方数据库(我们将这个现有数据库添加到我们的工作中)。 / p>

DACPAC只能更新某些数据库对象("如果不存在,删除,创建......"),还是必须包含整个数据库?

我基本上想要替换现有的脚本(所有脚本基本上都是#34;如果对象存在,删除对象,然后创建对象")并使用SSDT-BI的一些功能编译,源代码控制,更好的部署包等,并想知道在我使用的现有数据库场景下是否可行。到目前为止,我所做的一切都导致DACPAC丢弃并重新创建了我们想要的整个数据库。

对于我们如何使用BI工具实现这一目标的任何帮助或见解将不胜感激。

1 个答案:

答案 0 :(得分:2)

默认情况下,如果您正在使用SSDT SQL项目和dacpac,则不应该删除并重新创建数据库中的每个对象。您可以选择在发布时启用此功能,但如果在发布和/或另存为发布配置文件时点击选项,则可以轻松禁用。

SSDT会将您的数据库作为SQL文件存储在包含表,函数,过程,用户等文件夹的结构中。从那里它将读取预期的结构,在发布时生成dacpac,将该dacpac与实际数据库进行比较,然后使数据库看起来像项目。这将导致根据需要添加/删除/重命名对象。 (虽然如果在项目中找不到对象,你可以选择不删除对象 - 我发现生产版本更安全一些。)

我在博客上写了很多关于SSDT的文章(感谢许多让我入门的人),这些文章可能对你有所帮助。他们实际上并不是" BI"工具,直接上升SSDT而不是SSDT-BI。 MS并没有很好地命名这些工具集,并且他们承认至少将SSIS / SSAS工具调整为SSDT-BI。 :)

http://schottsql.blogspot.com/2013/10/all-ssdt-articles.html