6

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

源 SP 在 DefaultExpressionScript 中显示了这一点:

DefaultExpressionScript = at

虽然目标 SP 有这个:

DefaultExpressionScript = -1

我看不到在哪里可以更改,在我的数据库项目中没有名为 DefaultExpressionScript 的对象。我应该在哪里解决这个问题?

4

3 回答 3

9

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

于 2017-03-03T10:49:01.003 回答
1

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

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

于 2015-10-13T18:12:05.413 回答
-1

我终于找到了解决方法。您只需编写受影响的 SP 以进行 Modify 并运行 Alter 语句,而无需更改任何内容。它更正了这些值。

于 2018-04-19T19:07:25.340 回答