Как переместить диаграммы между базами данных 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.
Надеюсь, это поможет.