Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
Digit_ALL
Member

Откуда: Одесса
Сообщений: 86
Господа, прошу подсказать, как правильнее и проще автоматизировать сохранение всех скриптов базы?

Нужен "снимок" скриптов по базе на какой-то момент времени - таблицы, представления, процедуры, функции, и т.д.
Желательно, с выводом в файл.
При этом работоспособность скриптов - не нужна абсолютно (запускать их никто не собирается).

Правый клик по базе и выбрать "Сформировать скрипты..." - результат идеально подходит, но надо это дело как-то автоматизировать.
5 июл 17, 22:38    [20617383]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
Romka-Fes
Member

Откуда: Kyiv
Сообщений: 456
Digit_ALL,

А в каком именно ПО "правый клик по базе" Вам всё делает?
Посмотрите на dbForge Studio for SQL Server, там можно в скрипт выгрузить не только метаданные, но и сами данные, при необходимости.

А вот насчёт этого:

"При этом работоспособность скриптов - не нужна абсолютно (запускать их никто не собирается)" -

у меня возникает вопрос - а зачем скрипты, которые никто не будет запускать? Вы их на обои хотите печатать или построчно в Мумбаи продавать на базаре? В таком случае выгружайте не только код, а и данные AdventureWorks, больше заработаете.

p.s. А если серьёзно, делайте бекап самой БД с помощью MS SQL Server Agent (JOB) - весь код будет в ней. При необходимости поднимете её из бекапа и откроете код нужного объекта.
5 июл 17, 22:48    [20617394]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
Romka-Fes
Member

Откуда: Kyiv
Сообщений: 456
Digit_ALL,

А ещё лучше, пишите скрипты в файлы, которые контролируются какой-то VCS (git?) и получайте снимок любого сделанного коммита.
5 июл 17, 22:49    [20617397]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
Сон Веры Павловны
Member

Откуда:
Сообщений: 5960
Digit_ALL
но надо это дело как-то автоматизировать.

SMO
6 июл 17, 03:33    [20617585]     Ответить | Цитировать Сообщить модератору
 Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
Digit_ALL
Member

Откуда: Одесса
Сообщений: 86
Сон Веры Павловны, большое спасибо, то что нужно.

Romka-Fes,

  • Используемое ПО - SSMS (покупать dbForge за 500$ для простейшей задачи никто не будет)
  • Зачем - Для долгосрочной историчности, чтобы через год можно было понять как в течении дня и где именно менялся код.
  • Бэкап - Делается, каждый день полный, каждые три часа диференциальный. НО хранить годами каждый бэкап терабайтной базы - это не то что нам нужно.
  • Git - не подходит из-за человеческого фактора. Нужно полностью всё автоматизировать.
  • Распечатать и продать - свой колхозный юмор и рогульские замашки (что-то украсть и продать) прошу оставлять при себе.
  • 6 июл 17, 07:47    [20617651]     Ответить | Цитировать Сообщить модератору
     Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
    Сон Веры Павловны
    Member

    Откуда:
    Сообщений: 5960
    Digit_ALL
    Git - не подходит из-за человеческого фактора. Нужно полностью всё автоматизировать.

    Ну, это автоматизировать дело нехитрое. У нас исходники одного ораклового проекта (для MSSQL с такими задачами нормально справляется SSDT) хранятся в svn - просто скрипт по расписанию выгружает ddl всех объектов в определенную папку, и после выгрузки через командную строку делает svn commit. У Git тоже есть (и он первичен) консольный клиент.
    6 июл 17, 08:00    [20617669]     Ответить | Цитировать Сообщить модератору
     Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
    Критик
    Member

    Откуда: Москва / Калуга
    Сообщений: 33700
    Блог
    Последовательность действий неправильная.
    Сначала код должен появлятся в системе хранения кода, а затем уже в базе.
    Плюс на уровне сервера сделать триггер на ddl-операции, которые будут писаться в отдельную базу с логами.
    6 июл 17, 08:22    [20617694]     Ответить | Цитировать Сообщить модератору
     Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
    alexeyvg
    Member

    Откуда: Moscow
    Сообщений: 31371
    Digit_ALL
  • Используемое ПО - SSMS (покупать dbForge за 500$ для простейшей задачи никто не будет)
  • Зачем - Для долгосрочной историчности, чтобы через год можно было понять как в течении дня и где именно менялся код.

  • Лучше всё таки использовать полноценное средство разработки, с хранением исходников с сорс-контроле, историей изменений с комментариями, привязкой к задачам и багам, с удбным разделением на проекты, контролируемым заполнением справочников и т.д.

    Разница будет, как разрабатывать и менять сайт непосредственно на веб-сервере, либо в средстве разработки.

    Digit_ALL
    покупать dbForge за 500$ для простейшей задачи никто не будет

    SMO, конечно, и есть тот нужный вам API, но как то неразумно писать полностью свой комплекс средств разработки. Затраты будут куда больше 500 долларов, если, конечно, у вас программисты получают хотя бы не меньше $100 в месяц.
    6 июл 17, 08:44    [20617738]     Ответить | Цитировать Сообщить модератору
     Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
    alexeyvg
    Member

    Откуда: Moscow
    Сообщений: 31371
    alexeyvg
    SMO, конечно, и есть тот нужный вам API
    Да, ещё обратите внимание на PowerShell, по моему, там есть нужная вам функциональность.
    6 июл 17, 08:58    [20617755]     Ответить | Цитировать Сообщить модератору
     Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
    dvim
    Member

    Откуда: Санкт Петербург
    Сообщений: 679
    Зачем - Для долгосрочной историчности, чтобы через год можно было понять как в течении дня и где именно менялся код.

    DDL триггер и логировать изменения объектов.

    У нас - работает. Автоматически, человеконезависимо, просто
    6 июл 17, 10:47    [20618063]     Ответить | Цитировать Сообщить модератору
     Re: Как автоматизировать сохранение ВСЕХ скриптов базы (ака Задачи=>Сформировать скрипты...)  [new]
    Владислав Колосов
    Member

    Откуда:
    Сообщений: 7780
    dvim,

    источником кода должен быть проект базы, а не база.
    6 июл 17, 12:39    [20618610]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить