none
Подскажите как создать пустые клоны и скрипты изменения баз SQL RRS feed

  • Вопрос

  • Извините, вопрос вроде должен быть тривиальным, но никак не могу сам разобраться.

    Сделал несколько стабильно работающих приложений на C# с использованием SQL сервера. Пока пользовался сам - проблем не было. Друзья просят дать программу. Сразу возникают две проблемы. Первая надо сделать пустой клон базы, а вторая для поддержки периодически создавать скрипты изменения.

    Я вначале подумал, что нет ничего проще. В  VS2010 prof есть для этого специальные проекты. И вот я как та мартышка из басни Крылова поверну и так и сяк, а толку ноль. Беру свою базу, выбираю проект мастер SQL 2005 (или 2008), запускаю - он прекрасно расшифровывает структуру базы. В меню построение выбираю команду развернуть и получаю ошибку

    Выполнение задачи "SqlDeployTask" завершено с ошибкой.

      Построение целевого объекта "DspDeploy" в проекте "TestCreateDB.dbproj" завершено с ошибкой.

    Выполнение задачи "CallTarget" завершено с ошибкой.

    Построение целевого объекта "DBDeploy" в проекте "TestCreateDB.dbproj" завершено с ошибкой.

    Построение проекта "TestCreateDB.dbproj" завершено с ошибкой.

    СБОЙ построения.

    ========== Построение: успешно и без изменений: 1, с ошибками: 0, пропущено: 0 ==========

    ========== Развертывание: успешно: 0, с ошибками: 1, пропущено: 0 ==========

    и чего с этим делать совсем непонятно. В C# есть указание на ошибочную строку, а здесь куда податься?

    Ну, думаю ладно, есть же пространство имен

    Microsoft.SqlServer.Management.Common
    Microsoft.SqlServer.Management.SMO  но где взять библиотеки?

    29 марта 2017 г. 12:32

Ответы

  • Для информации, чтобы создать "пустой клон базы", не нужен никакой специальный проект. Просто в SQL по базе правой кнопкой Задачи - "Сформировать сценарии", выбираете все объекты, сохраняете сценарий в файл, потом на целевой машине через SQLCMD его выполняете.

    Для сценариев изменения - аналогично, просто в редакторе таблицы перед сохранением надо нажать "Сформировать сценарии".

    • Помечено в качестве ответа Miklv 30 марта 2017 г. 13:07
    30 марта 2017 г. 7:42

Все ответы

  • Здравствуйте,

    Может ответ в данной теме будет Вам в помощь:


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    30 марта 2017 г. 7:30
    Модератор
  • Для информации, чтобы создать "пустой клон базы", не нужен никакой специальный проект. Просто в SQL по базе правой кнопкой Задачи - "Сформировать сценарии", выбираете все объекты, сохраняете сценарий в файл, потом на целевой машине через SQLCMD его выполняете.

    Для сценариев изменения - аналогично, просто в редакторе таблицы перед сохранением надо нажать "Сформировать сценарии".

    • Помечено в качестве ответа Miklv 30 марта 2017 г. 13:07
    30 марта 2017 г. 7:42
  • Спасибо за ссылку на SMO. Теперь начну осваивать эти библиотеки/
    30 марта 2017 г. 12:51
  • Большое спасибо за совет использовать SQL server management  studio.  Здесь у меня получилось как у человека, который поднял очки на лоб и забыл про них, а потом ищет и не найдет.  Я пробовал создавать скрипты изменений, но изменений как правило много, осуществляются небольшими кусками и в результате я запутался в них и забыл про эту возможность. А вот сделать пустой клон базы с помощью мастера - это то что надо. В принципе работает. Надо лишь подобрать, что включать в скрипт. Есть некоторые нюансы.

    Вот именно из-за скриптов изменения я зацепился за проект баз данных. Но пока не получается.

    30 марта 2017 г. 13:07