默认情况下,Visual Studio 2015 数据库项目是不是会删除不在项目中的存储过程?

Posted

技术标签:

【中文标题】默认情况下,Visual Studio 2015 数据库项目是不是会删除不在项目中的存储过程?【英文标题】:Will a Visual Studio 2015 database project by default drop stored procedures not in project?默认情况下,Visual Studio 2015 数据库项目是否会删除不在项目中的存储过程? 【发布时间】:2016-04-28 09:33:38 【问题描述】:

假设某人 - 出于某种原因 - 在数据库中手动创建了一个 SP(并且 没有 将其添加到数据库项目中)。如果我们现在运行数据库项目的发布向导,手动添加的 SP 会不会被删除?

【问题讨论】:

默认情况下没有。但我会先检查实际设置/生成的脚本,以确保设置没有改变。 @TZHX 将该评论作为答案,我会接受。如果您有,也请提供信息来源。谢谢! 【参考方案1】:

简短回答:不,它不会被丢弃。

如果您从 数据库项目 发布(如右键单击并发布),那么默认情况下它是关闭的:An Overview of Database Project Settings(我知道这是从 2010 年开始的,但默认设置没有' t改变了)

项目设置称为:“DROP Objects in target but not in project”,可在“调试”选项卡上找到。当您右键单击发布时,您应该会看到标准的发布配置文件对话框,该对话框为您提供了“高级”按钮以及以下描述的选项。

在发布配置文件中,它称为“将对象放入目标但不在源中”。默认不勾选,可以从进入“高级发布设置”的“Drop”选项卡更改。

您可以在此处获得不删除特定对象类型的其他选项。

我建议检查此值,而不是依赖默认值(可以通过创建新的发布配置文件来验证)。

与往常一样,在处理生产数据库时,我建议在允许其运行之前检查脚本。这些机器,伙计,你不能相信它们。

【讨论】:

以上是关于默认情况下,Visual Studio 2015 数据库项目是不是会删除不在项目中的存储过程?的主要内容,如果未能解决你的问题,请参考以下文章

默认情况下如何以管理员身份运行 Visual Studio?

默认情况下如何为 Visual Studio Web API 返回 json

在 Visual Studio 2015 中按空格键时停止默认自动完成行为

win10 visual studio IIS Express 局域网调试,默认只能localhost

Visual Studio 2015的安装及单元测试练习

Visual Studio 2015 远程调试(联调)