在使用SSDT将数据库实例与VS2010中的数据库项目进行比较时,它显示了其中一个存储过程的差异。 Store Procedure DDL脚本完全相同,但是当我在Store Procedure下展开Properties文件时,它显示了DefaultExpressionScript的不同。
源SP在DefaultExpresionScript中显示:
DefaultExpressionScript = at
目的地SP有这个:
DefaultExpressionScript = -1
我不知道在哪里可以更改此内容,我的数据库项目中没有名为DefaultExpressionScript的对象。我应该在哪里解决这个问题?
答案 0 :(得分:7)
此错误仍存在于使用SSDT 14.0.61021.0的VS 2015 Update 3中。但是,只需在SSMS中使用ALTER ...编写存储过程脚本并运行该查询(不应该更改任何内容),就可以为我修复它。架构比较之后不再显示差异。
答案 1 :(得分:1)
DefaultExpressionScript是其中一个存储过程参数的默认值。我建议使用Script As从数据库中获取存储过程的TSQL定义,并验证存储过程的默认值是否与数据库项目中的内容相匹配。
另外,请注意,VS2010中没有针对架构比较的大量错误修复。您是否考虑过安装最新版本的Visual Studio 2015 Express with SSDT?
答案 2 :(得分:-1)
我终于找到了解决方法。您只需为受影响的SP编写脚本以进行修改并运行Alter语句,而无需进行任何更改。它会纠正这些值。