我试图使用SSMS 17将3个数据库( DB )图从一个DB导出到另一个DB。
How to export a SQL Server 2008 Database Diagram to another DB?
我发现的其他几个网站也推荐此解决方案,将表“系统关系图”的内容从源DB复制到目标DB (在我的示例中为3行)。
在完成此操作之后,我可以确认两个“系统关系图”表都有相同的内容,并且图表是在目标DB中导入的。然而,在每个导入的图表中,我只看到了表,而没有看到关系。我发现奇怪的是,在加载图表中的表时,关系很快就可见。在加载了所有表之后,它们就会消失。
有人知道这个问题可能是什么吗?据我理解,这种解决方案对于早期版本的SSMS是成功的。
任何帮助都是非常感谢的:)!
发布于 2019-03-06 12:00:46
检查目标数据库中的关系(外键约束)是否实际存在,因为如果它们不存在,图表编辑器将按照您描述的那样运行:最初它将绘制所有线条,然后开始查找每一行所代表的每个FK关系,然后逐个删除未找到关系的行。
为了澄清,您可以通过在To表之间画一条线来使用Diagram Editor创建FK关系(然后编辑器在图表中创建一条线和实际的FK约束)。但是,使用像您这样的“复制图”操作,您只复制行数据,而不复制实际关系。
要在目标数据库中添加缺少的关系,可以编写ALTER TABLE ... ADD CONSTRAINT ...语句,或者在目标数据库上再次使用图编辑器,或者可以尝试使用数据库diff工具。
https://stackoverflow.com/questions/55001115
复制相似问题