Как переместить диаграммы между базами данных SQL Server?

Я пытаюсь переместить базу данных с размещенного сервера на свой собственный экземпляр SQLExpress. Я использовал Мастер публикации баз данных для создания сценария... но диаграммы не были перенесены.

Затем я нашел и последовал совету другого ответа на этом сайте, который заставил меня импортировать / экспортировать данные в таблицу sysdiagrams.

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

"Таблицы были удалены из диаграммы, потому что привилегии были удалены для этих таблиц или таблицы были удалены".

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

Знаете ли вы, как я могу передать диаграммы без получения этого сообщения?

4 ответа

Вам нужно удалить диаграмму и в контекстном меню с "Новой диаграммой базы данных" создать новую, добавить нужные вам таблицы и, наконец, сохранить их.

Самый простой способ - создать резервную копию всей базы данных и восстановить ее в вашей базе данных Express. Вы получаете ошибку, потому что диаграммы - это не простые рисунки - это просто метаданные и они основаны на таблицах, которые они показывают, - вам нужны таблицы, показанные диаграммой. Если вы не хотите изменять диаграмму, просто экспортируйте ее как изображение.

Эта проблема прекратилась, когда я переписал всю базу данных с помощью мастера публикации баз данных... На этот раз я указал "Только схема" вместо "Схема и данные". После этого я смог успешно импортировать и открыть диаграммы с помощью мастера импорта / экспорта.

Я видел нечто похожее на это раньше, это было не совсем то же самое, но, возможно, это достаточно близко, чтобы относиться к вам.

Вполне вероятно, что проблема, с которой вы столкнулись изначально, была связана с тем, что пользовательские привилегии каким-то образом были привязаны к старому серверу.

См. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=120849&SiteID=1 и это: http://msdn2.microsoft.com/en-us/library/ms143684.aspx.

  • Вам нужно будет остановить службу "SQL Server (SQLEXPRESS)".

  • Затем удалите папку "\Documents and Settings\ Имя пользователя \Local Settings\Application Data\Microsoft\Microsoft SQL Server \SQLEXPRESS".

  • Перезапустите SQL Server.

  • Перезапустите Visual Studio.

Надеюсь, это поможет.

Другие вопросы по тегам