我是第一次使用现有数据库设置新的SQL Server数据库项目。我创建了我的新项目,然后导入了数据库,它运行得很好。
但是,当我向新的数据库项目添加新的存储过程,然后对我的本地数据库执行比较模式时,新的存储过程的添加不会显示。
要明确的是,在运行比较时我将源设置为我的数据库项目并定位到我的本地数据库。
比较模式非常适合在我的数据库项目中修改或删除存储过程脚本,而不是在我定义新模式时。我错过了什么吗?为什么我的项目中定义的新存储过程不会出现在比较结果中?
我正在使用VS2013,SQL Server 2008 R2。
答案 0 :(得分:3)
当我在Visual Studio中创建存储过程时,我选择了Script ...选项而不是Stored Procedure ...选项。下图显示了我应该做的事情。
将文件添加为脚本导致.sql文件被添加到项目中不具有构建属性的不同ItemGroup。这导致比较不能将其作为存储过程。
我通过查看我添加的.sql文件(在Visual Studio中)的属性以及比较工作的同一项目中的另一个.sql来确定这一点。我作为脚本文件添加的文件与被视为实际存储过程的其他文件具有不同的属性。
故事的道德......确保正确地在Visual Studio中添加存储过程。