Visual Studio 2017 Schema Compare出现异常差异问题求助
VS 2017 Schema Compare 主键名称识别异常的解决方案
我之前也碰到过这个挺棘手的问题,给你梳理下情况和可行的临时解决办法:
问题场景
- 用Visual Studio 2017的Schema Compare对比两个数据库里的同一张表时,工具突然提示其中一张表「无主键名称」
- 用SSMS生成这张表的脚本,确实看不到主键的名称;但直接查询
sys.indexes系统表时,两台服务器上对应的主键索引名称明明是完全一致的
临时修复方案
这个问题本质是VS的Schema Compare在读取数据库元数据时的一个缓存/识别偏差,通过对目标表做一次轻量的元数据变更操作,就能触发数据库更新元数据的展示信息,让VS能正确识别主键名称。具体操作步骤:
- 给存在问题的表创建一个临时索引:
CREATE INDEX IX_Temp_Fix ON YourProblemTableName(AnyExistingColumnName) - 立即删除这个临时索引:
DROP INDEX IX_Temp_Fix ON YourProblemTableName
做完这两步后,重新运行Schema Compare,应该就能正常识别主键名称,不会再抛出异常了。
内容的提问来源于stack exchange,提问作者Ramūnas
相关产品推荐
相关产品推荐

