SQL Server 2014视图设计器与ALTER脚本代码不一致问题咨询
SQL Server 2014视图设计器与ALTER脚本代码不一致的问题排查
遇到这种情况不算少见,以下是几个大概率的原因和对应的排查/解决方法:
视图设计器缓存未刷新
SSMS的视图设计器有时会缓存旧的视图定义,导致显示内容滞后。解决办法:关闭所有相关的设计器和查询窗口,重新打开视图设计器,或者右键视图选择“刷新”。系统元数据与设计器显示不同步
直接查询系统视图获取视图的真实定义,对比到底哪个是正确的:SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID('dbo.你的视图名称');这个结果是SQL Server存储的视图真实定义,ALTER脚本是基于这个生成的,而设计器可能因为缓存或显示逻辑问题没同步。
设计器自动关联表的功能触发
检查SSMS的设计器设置:打开“工具”->“选项”->“设计器”->“表设计器和数据库设计器”,看是否勾选了“自动创建新的外键和主键关联”。如果开启,当视图涉及的表存在外键时,设计器可能自动添加JOIN关联,但显示的代码面板没有及时更新。可以暂时关闭这个选项,重新编辑视图。表结构变更导致的关联自动引入
如果products和providers表后来添加了外键约束(比如prd_id关联po.id),视图设计器在加载时可能自动识别并加入关联,但显示的代码面板没有同步更新,而ALTER脚本是基于最新的设计逻辑生成的。
内容的提问来源于stack exchange,提问作者Francisco González
相关产品推荐
相关产品推荐

