2009-09-11 3 views
0

Я знаю, что существуют автоматические генераторы SQL-изменений, но я бы хотел создать очень легкий инструмент.Создание скромного сценария смены сценариев Auto Generating SQL?

В настоящее время я вручную регистрирую любые хранимые процедуры или изменения таблицы (или новую хранимую процедуру или таблицу), в то время как это является очень эффективным при публикации/выпустит много времени (следовательно, в то время как эти инструменты существуют)

Я просто хочу автоматизировать часть генерации скрипта sql.

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

Часть я хотел бы знать, как это сделать:

Учитывая таблица, которая содержит данные о (новых/измененных хранимых процедур и новых/измененных таблиц), как я могу затем генерировать SQL скрипт?

Может ли это автогенерация выполняться в SQL (например, любые функции/команды?), Или мне придется прибегнуть к написанию программы для выплескивания SQL-скрипта?

+0

нормально, некоторые рытье позже, встроенная функция sp_helptext «Stored_proc_name» возвращает содержимое хранимых процедур, albiet с «CREATE», Буц было бы тривиально сделать строку замены для измененных сохраненных проков. Теперь мне нужно иметь возможность автоматической смены таблицы скриптов, например, добавить/удалить/изменить поле? – Darknight

+0

Также автогенерировать добавить новую таблицу? <Я думаю, что нужно быть довольно простым? – Darknight

ответ

1

Я думаю, что лучший способ справиться с этим - сохранить журнал аудита изменений ddl, как вы упомянули. Например, в sql server 2005 вы можете запустить триггер «AFTER DDL_TABLE_EVENTS» и использовать функцию EVENT() для получения содержимого модификации ddl (как xml). Предположим, что у вас есть триггер модификации ddl для записи в таблицу, содержащую , список, который можно воспроизвести на других серверах - например, dev для тестирования на prod. Когда вы будете готовы довести целевой сервер до того же уровня, что и исходный сервер, скрипт что-то - даже sproc или функцию, чтобы выгрузить таблицу изменений ddl в текстовый файл.

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