为什么SSDT Schema Compare在DefaultExpressionScript中显示出差异?

Ros*_*oli 5 sql visual-studio sql-server-2008-r2 ssdt-bi sql-server-data-tools

在使用SSDT将数据库实例与VS2010中的数据库项目进行比较时,它显示了其中一个存储过程的差异.Store Procedure DDL脚本完全相同,但是当我在Store Procedure下展开Properties文件时,它显示了DefaultExpressionScript的不同之处.

源SP在DefaultExpresionScript中显示:

DefaultExpressionScript = at
Run Code Online (Sandbox Code Playgroud)

目的地SP有这个:

DefaultExpressionScript = -1
Run Code Online (Sandbox Code Playgroud)

我没有看到我可以在哪里更改这个在我的数据库项目中没有名为DefaultExpressionScript的对象.我应该在哪里修理这个?

小智 8

使用SSDT 14.0.61021.0的VS 2015 Update 3中仍然存在此错误.但是,只需在SSMS中使用ALTER ...编写存储过程脚本并运行该查询(不应该更改任何内容),就可以为我修复它.架构比较之后不再显示差异.


Ste*_*een 1

DefaultExpressionScript 是存储过程参数之一的默认值。我建议使用 Script As 从数据库获取存储过程的 TSQL 定义,并验证存储过程默认值是否与数据库项目中的值相匹配。

另请注意,VS2010 中未提供针对模式比较的大量错误修复。您是否考虑过使用 SSDT 安装最新版本的Visual Studio 2015 Express

  • VS 2019 仍然这样做。 (2认同)