VS2017 SqlDbProj-缺少的列未标记为“错误”

时间:2019-01-21 14:47:35

标签: visual-studio-2017 sql-server-2016 dbproj

我正在使用VS 2017,创建一个SQL Server 2016项目。我有一个表格,在其中我删除了一个列。我有一个使用该列的存储过程(作为从其中选择该列的插入语句的一部分)。

例如:

insert into TableA(SomeColumn1, SomeColumn2)
    select e.SomeColumn1, e.DeletedColumn2
    from MyTable e

问题是MyTable.DeletedColumn2不再存在,但是在构建时VS并未将其标记为错误。我只发现尝试发布时出错。

我进入了SQL项目属性,并打开了“将Transact SQL警告视为错误”,并将“将警告视为错误”设置为“全部”。当我转到存储过程时,有问题的列不会用蓝色下划线标记,并且当我选择构建项目时,不会收到任何错误或警告。这非常令人沮丧。

该列曾经存在于表定义文件和已部署的数据库中,但在任何一个中都不存在(我运行了一个手动的alter-table-drop-column)。

有人知道如何强制VS真正地检查架构,理想情况下,如果不再存在列,则抛出错误?

0 个答案:

没有答案