我有一个导入到 中的数据库.sqlproj
,以及一个.publish.xml
将更改发布到远程数据库的发布配置文件。
我的理解是,当我右键单击-> 发布-> 生成脚本时,它应该计算本地定义和远程数据库之间的差异,并生成一个脚本以使远程数据库符合要求。
这一切似乎都可以正常工作,但是,它生成的脚本总是包含相同的 40 个左右的函数ALTER FUNCTION
和ALTER PROCEDURE
过程的语句(总共定义了大约 1000 个),无论它们是否已更改。当我将ALTER
语句与 Script Function as -> ALTER to script in SSMS 进行比较时,它们完全相同。
所以我的问题是:为什么 VS 认为这些是不同的,或者如果它们相同,为什么它会重新创建它们?
笔记:
- 这些函数并不特殊 - 其中一些就像定义一个 varchar 一样简单,将其设置为一个值并返回它。
- 我已经尝试将
ALTER
脚本运行到数据库中,但它们会继续生成。 - 我已经检查了 SSMS 中的属性(右键单击-> 属性),但看不到它总是重新创建的那些和它不重新创建的那些明显不同的任何东西。
- 我的发布配置文件是沼泽标准配置文件。
谢谢