2013-03-26 2 views
17

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

Задачи> Создать Сценарии> Сценарий всей базы данных и все объекты базы данных> Дополнительно> Типы данных в сценарии: данные только

Это дает мне что-то ошибки о циклической зависимости. Если я изменил тип данных на сценарий на , схема AND data генерирует штраф. Как я могу исправить это только для работы с данными?

Действие Результат Получение списка объектов из MyDatabase Failed

Подробный отчет:

Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptPublishException: Произошла ошибка во время написания сценариев объектов. ---> Microsoft.SqlServer.Management.Smo.SmoException: найдены циклические зависимости . на Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal (Int32 NUM, словарь 2 dictionary, List 1 SortedList, HashSet 1 visited, HashSet 1 тока) при Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal (Int32 NUM, словарь 2 dictionary, List 1 SortedList , HashSet 1 visited, HashSet 1 тока) при Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal (Int32 NUM, словарь 2 dictionary, List 1 SortedList, HashSet 1 visited, HashSet 1 тока) при Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.DependencyGraphTraversal (Int32 num, Словарь 2 dictionary, List 1 отсортированныйList, HashSet 1 visited, HashSet 1 ток) в Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer.SortDictionary (Словарь ObjectList, словарь ObjectList, Список урн) в Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript (IEnumerable урны, ISmoScriptWriter писателем) на Microsoft.SqlServer.Management.Smo.ScriptMaker.Script (URN [] урн, ISmoScriptWriter писатель) на Microsoft.SqlServer.Management.SqlScriptPublish.SqlScriptGenerator.DoScript (ScriptOutputOptions outputOptions) --- Конец внутренней проверки стека исключений --- на M icrosoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork (Объект отправителя, DoWorkEventArgs е) при System.ComponentModel.BackgroundWorker.OnDoWork (DoWorkEventArgs е) при System.ComponentModel.BackgroundWorker.WorkerThreadStart (Object аргумента)

ответ

8

у меня был точно такой же ошибки ... Смотрите мой ответ здесь: http://mattslay.com/ssms-generate-scripts-data-only-cyclic-dependencies-found-error/

Тогда, по наитию, зная, что я успешно сценарий к этой базе данных, прежде чем я подключен к серверу 2012 экземпляра Sql с помощью SQL Server Management 2008 R2, и я был способный генерировать скрипты без ошибок!

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

+0

ссылка ссылка мертва - (любой шанс на решение? – trailmax

+0

Ссылка действительно работает. Я только что проверил. – MattSlay

+0

Пожалуйста, проверьте ссылку в блоге http://blogs.msdn.com/b/sqlazure/archive/2010 /07/01/10033575.aspx Кажется, что trailmax означал этот. –

3

У меня была такая же проблема, и у меня не было SSMS 2008 R2, чтобы сделать то, что предложил Мэтт. Так что я сделал, изменили расширенные настройки, чтобы создать схему и данные, а также установить, чтобы проверить, существуют ли объекты. Я установил большинство других вещей в false (т.е. первичные ключи, уникальные ключи и т. Д.), Так что все, что находится в файле sql, является базовым оператором create table и вставляет инструкции. Поскольку он проверяет, не существует ли таблицы перед созданием таблицы, вы будете в порядке, чтобы запустить скрипт, если таблица уже существует. Таким образом, он ведет себя так, как если бы это были только вставки. Если вы создаете один файл sql для нескольких выбранных таблиц, он помещает все блоки создания таблицы в начало скрипта, поэтому достаточно легко удалить все из них после создания файла, если хотите.

20

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

+2

Проще и поэтому для меня лучше –

Смежные вопросы