SQL - диаграмма базы данных экспорта - SSMS 17 - PullRequest
2 голосов
/ 05 марта 2019

Я пытаюсь экспортировать 3 диаграммы базы данных (БД) из одной БД в другую, используя SSMS 17. Я попробовал предлагаемое здесь решение:

Как экспортировать диаграмму базы данных SQL Server 2008 вдругая БД?

Это решение также рекомендуется на нескольких других веб-сайтах, которые я нашел до сих пор, чтобы скопировать содержимое таблицы "sysdiagrams" из исходной БД в БД назначения (3 строки в моемcase).

После этого я могу подтвердить, что обе таблицы «sysdiagrams» имеют одинаковое содержимое, а диаграммы импортируются в целевую БД.Тем не менее в каждой импортированной диаграмме я вижу только таблицы, но не взаимосвязи.Что я нахожу странным, так это то, что эти отношения вскоре видны во время загрузки таблиц на диаграмме.После загрузки всех таблиц они просто исчезают.

Кто-нибудь знает, в чем может быть проблема?Насколько я понимаю, это решение успешно для ранних версий SSMS.

Любая помощь высоко ценится :)!

1 Ответ

0 голосов
/ 06 марта 2019

Проверьте, что отношения (ограничения внешнего ключа) действительно существуют в целевой базе данных, потому что если они этого не делают, редактор диаграмм будет вести себя точно так, как вы описали: сначала он будет рисовать все линии, затем он начинает искать каждый FKотношение, которое представляет каждая строка, и оно будет по одному удалять строки, для которых отношения не найдены.

Для пояснения можно создать отношения FK с помощью редактора диаграмм, нарисовав линию между таблицами (затем редакторсоздает как линию на диаграмме , так и фактическое ограничение FK).Но с помощью действия «копировать диаграмму», подобного вашему, вы копируете только данные строки, но не фактические отношения.

Чтобы добавить отсутствующие отношения в целевой базе данных, вы можете написать ALTER TABLE ... ADD CONSTRAINT ... операторов или использовать диаграммуСнова отредактируйте базу данных назначения или попробуйте использовать инструмент сравнения базы данных.

...