我正在尝试使用SSMS 17将3个数据库(DB)图从一个DB导出到另一个DB。我尝试了这里建议的解决方案:
如何将SQL Server 2008数据库图导出到另一个数据库?
到目前为止,在我发现的其他几个网站中也建议使用此解决方案,将表“ sysdiagrams”的内容从源数据库复制到目标数据库(在我的情况下为3行)。
完成此操作后,我可以确认两个“ sysdiagrams”表都具有相同的内容,并且已将图导入到目标DB中。但是,在每个导入的图中,我仅看到表,但没有看到关系。我发现奇怪的是,在加载图中的表时,这些关系很快就可见。加载所有表后,它们便消失了。
有谁知道这个问题可能是什么?据我了解,该解决方案对于SSMS的早期版本是成功的。
任何帮助是高度赞赏:)!
检查关系(外键约束)是否确实存在于目标数据库中,因为如果不存在关系,则图编辑器的行为将与您描述的完全一样:最初将绘制所有线条,然后开始查找每个FK关系线代表,它将一一删除没有关系的线。
为了澄清,您可以创建使用图编辑器通过绘制之间的线路表(编辑然后创建图中既有线FK关系和实际FK约束)。但是通过像您这样的“复制图”操作,您仅复制线数据,而不复制实际关系。
要在目标数据库中添加缺少的关系,可以编写ALTER TABLE ... ADD CONSTRAINT ...
语句,或在目标数据库上再次使用图编辑器,或者可以尝试使用数据库diff工具。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句