Как сохранить в скрипт все триггеры? (MS SQL)
От: Kvazimodo75  
Дата: 27.10.15 10:06
Оценка:
Добрый день.

Есть БД с over 100 таблицами. В некоторых из них настроены триггеры. Иногда требуется сохранить в скрипт все эти тригерры, а потом накатить их обратно.

Перебирать все таблицы ручками и нажимать "Script Trigger as" не вариант, потому что много.

Установить что-то кроме MS SMS не получиться.


Есть ли решение?
how to triggers
Re: Как сохранить в скрипт все триггеры? (MS SQL)
От: Olaf Россия  
Дата: 27.10.15 10:23
Оценка: 1 (1)
Здравствуйте, Kvazimodo75, Вы писали:

K>Добрый день.


K>Есть БД с over 100 таблицами. В некоторых из них настроены триггеры. Иногда требуется сохранить в скрипт все эти тригерры, а потом накатить их обратно.


K>Перебирать все таблицы ручками и нажимать "Script Trigger as" не вариант, потому что много.


K>Установить что-то кроме MS SMS не получиться.



K>Есть ли решение?


Использовать запрос вида

select object_definition(t.object_id)
from sys.triggers t

Результат запроса из SSMS можно отправить не в решетку, а в файл.
Re[2]: Как сохранить в скрипт все триггеры? (MS SQL)
От: Kvazimodo75  
Дата: 27.10.15 10:25
Оценка:
Здравствуйте, Olaf, Вы писали:

O>Использовать запрос вида


O>
O>select object_definition(t.object_id)
O>from sys.triggers t
O>

O>Результат запроса из SSMS можно отправить не в решетку, а в файл.
благодарю.
Re: Как сохранить в скрипт все триггеры? (MS SQL)
От: Spinifex Россия https://architecture-cleaning.ru/
Дата: 29.10.15 08:07
Оценка: +1 -1
Здравствуйте, Kvazimodo75, Вы писали:

В качестве альтернативы, предложенному выше.
В Managment Studio есть пункт Tasks->Generate Scripts, дальше я думаю разберетесь.
Re: Как сохранить в скрипт все триггеры? (MS SQL)
От: vladpol Украина http://vlad-mislitel.livejournal.com/
Дата: 29.10.15 13:19
Оценка:
Здравствуйте, Kvazimodo75, Вы писали:

K>Есть ли решение?

Можно посмотреть в сторону SQL-PMO
С уважением, Владислав Полищук
Re: Как сохранить в скрипт все триггеры? (MS SQL)
От: capgreen  
Дата: 12.11.15 16:15
Оценка: +1
Здравствуйте, Kvazimodo75

Можно ничего не "сносить", а просто отключать/включать

Select 'Alter table ' + tab.name + ' disable/enable trigger ' + tr.name
from sys.triggers as tr INNER JOIN
    sys.tables as tab ON
        tab.object_id = tr.parent_id
Re[2]: Как сохранить в скрипт все триггеры? (MS SQL)
От: Kvazimodo75  
Дата: 23.11.15 12:41
Оценка:
Здравствуйте, Spinifex, Вы писали:

S>В качестве альтернативы, предложенному выше.

S>В Managment Studio есть пункт Tasks->Generate Scripts, дальше я думаю разберетесь.

Если прочитать исходное сообщение, то становиться понятно, я вариант этот знаю, испытал и отверг.
Re[2]: Как сохранить в скрипт все триггеры? (MS SQL)
От: Kvazimodo75  
Дата: 23.11.15 12:43
Оценка:
Здравствуйте, capgreen, Вы писали:

C>Здравствуйте, Kvazimodo75


C>Можно ничего не "сносить", а просто отключать/включать


C>
C>Select 'Alter table ' + tab.name + ' disable/enable trigger ' + tr.name
C>from sys.triggers as tr INNER JOIN
C>    sys.tables as tab ON
C>        tab.object_id = tr.parent_id
C>


Структура таблиц обновляется сторонним приложением. Без адекватной технической поддержки. Поэтому и изобретаю обходные манёвры.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.