Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Автоматизировать выполнение sql скриптов  [new]
Rebelint
Member

Откуда:
Сообщений: 347
Сразу к делу:
Делается продукт с разными версиями базы, немного отличающимися структурно и по наполнению.

Есть скрипты на: 1. создание с нуля, 2.обновление до нужной версии, 3. отката в случае необходимости, 4. заполнения дефолтными данными, 5. трансформации из любой базы ее копии с определенными известными изменениями. Общей сложностью около 60тыс строк.

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

Хотелось бы автоматизировать процесс еженедельного создания этих БД с определенной гибкостью, т.е со входными параметрами, возвратом ошибок и тд. Например как-то натравить MS IS...
Что предложите?
22 июн 15, 13:45    [17801905]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4262
Rebelint
Например как-то натравить MS IS...
Что предложите?

Нормальный вариант.
Параметры можете хранить в отдельной таблице, редактируя их по мере надобности, не трогая сам пакет.
22 июн 15, 14:09    [17802023]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
Rebelint
Member

Откуда:
Сообщений: 347
дело в том, что таблиц то нет, до выполнения скрипта
скрипт создает базу, таблицы, роли и тд
22 июн 15, 15:09    [17802381]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
человек_ниоткуда
Guest
Rebelint, не доконца понял что у вас там делается, но всётаки предложу посмотреть в сторону SSDT.
22 июн 15, 16:29    [17802733]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4262
Rebelint
дело в том, что таблиц то нет,

Да вы что???
И даже в базе msdb или master???
22 июн 15, 18:35    [17803183]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
Rebelint
Member

Откуда:
Сообщений: 347
человек_ниоткуда
Rebelint, не доконца понял что у вас там делается, но всётаки предложу посмотреть в сторону SSDT.

поставил, поглядел. Оно конечно удобно в плане контроля версий. Но не дает кроме интеграции с VS (и с Git) никаких преимуществ.
На данный момент я пользуюсь SSMS + Red Gate tools (compare и sql promt).
Какие преимущества тут: я могу просто открыть закладку, написать скрипт и выполнить; выполнить хранимку... и не нужно писать юнит тесты на все подряд.
22 июн 15, 19:17    [17803315]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
Rebelint,

перечисленное в топике SSDT умеет.
22 июн 15, 19:31    [17803360]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
Rebelint
Member

Откуда:
Сообщений: 347
Что то я не нашел, как можно строить произвольные запросы, использовать конструктор запросов, строить связи в диаграммах, и так же генерировать скрипты на основные простые операции для таблиц и хранимок.
23 июн 15, 10:02    [17805112]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
человек_ниоткуда
Guest
Приблуда в студии называется schema compare - она умеет делать diff скрипты и сравнивать схемы БД и проекта. Ну насчёт интеграции с какими-нибудь CVS не знаю, мне черепашки (tortoise) хватает.
RedGate - r@BH... эммм... ну я наблюдаю что любители CASE делятся на два лагеря SoftTree и RedGate. Я когда выбирал сторону (а было это давненько), честно поюзал и с RedGate и с SoftTree пару недель. Второй меня выбесил меньше, такчто я выбор сделал.
У меня SQLAssist, он в обоих студиях работает, такчто с генерацией запросов у меня нет проблем, а конструктор с ним не нужен.
23 июн 15, 11:03    [17805443]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Rebelint,
работаю с большим sql проектом . Автоматизация сборки сделана через team city в интеграции с git. Работаем в режиме создания с нуля, обновление до нужной версии, заполнение тестовыми данными. Сборка осуществляется следующим образом:1) с помощью ps формируются файлы с настройками деплоя и значениями cmd переменных. 2) Билд проектов через ps скрипт msbuild 3) Деплой проектов через msbuild и ps
23 июн 15, 11:49    [17805714]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Rebelint,
Забыл добавить, что сам солюшен в ssdt ведется. Под каждую БД свой проект + проект данных с тестовыми данными.
23 июн 15, 11:51    [17805731]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
Мистер Хенки
Member

Откуда: канализация
Сообщений: 6615
Rebelint,
вообще за связку ssdt и TeamCity могу сказать, что очень гибкий , хорошо настраиваемый проект получается. Можно разворачивать через pre и post деплой скрипты разные сложные штуки вроде репликаций. За TeamCity могу сказать что очень удобна когда настроишь проект и шаблоны, то остальным разработчикам через систему наследования и централизованное администрирование очень легко настроить все аналогично и потому переход на автоматизированную сборку в коллективе разработчиков происходит безболезненно и с низким порогом вхождения. Раньше собирал проект ssdt CruiseControl - было сущим мучением подключать новых разработчиков или изменять деплой конфиг, например добавлять новые переменные cmd.
23 июн 15, 12:01    [17805823]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
человек_ниоткуда
Приблуда в студии называется schema compare - она умеет делать diff скрипты и сравнивать схемы БД и проекта. Ну насчёт интеграции с какими-нибудь CVS не знаю, мне черепашки (tortoise) хватает.
RedGate - r@BH... эммм... ну я наблюдаю что любители CASE делятся на два лагеря SoftTree и RedGate. Я когда выбирал сторону (а было это давненько), честно поюзал и с RedGate и с SoftTree пару недель. Второй меня выбесил меньше, такчто я выбор сделал.
У меня SQLAssist, он в обоих студиях работает, такчто с генерацией запросов у меня нет проблем, а конструктор с ним не нужен.


+ к SSDT

- можно сравнивать два проекта (один и тот же, соответствующий разным коммитам)
- или вместо 1-го использовать snapshot'ы и сравнивать текущий проект со снапшотом (Правой пымбочкой на проекте и выбрать Snapshot Project, оно создаст снапшот).
- студия интегрирована с TFS и Git из коробки без сторонних свистоперделок (с GitHub работает)
23 июн 15, 12:16    [17805958]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизировать выполнение sql скриптов  [new]
АцкийСкотона
Member

Откуда: Чебоксары
Сообщений: 56
Мистер Хенки
Rebelint,
вообще за связку ssdt и TeamCity могу сказать, что очень гибкий , хорошо настраиваемый проект получается. Можно разворачивать через pre и post деплой скрипты разные сложные штуки вроде репликаций. За TeamCity могу сказать что очень удобна когда настроишь проект и шаблоны, то остальным разработчикам через систему наследования и централизованное администрирование очень легко настроить все аналогично и потому переход на автоматизированную сборку в коллективе разработчиков происходит безболезненно и с низким порогом вхождения. Раньше собирал проект ssdt CruiseControl - было сущим мучением подключать новых разработчиков или изменять деплой конфиг, например добавлять новые переменные cmd.


День добрый ,а не подлинкуешь материальчик дkz спаривания SSDT и TeamCity? Тоже сейчас тема такая встала. Чот материала толком нету. :)
29 сен 15, 10:03    [18208122]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить