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

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Привет.
Я dbo в базе, и даже sysadmin на сервере.
Выполнил с утра в Visual Studio Schema Compare для нашей базы (хотел изменения затащить) и обнаружил два тригера:
один ... ON ALL SERVER after CREATE_DATABASE ...
другой ... ON ALL SERVER after DROP_DATABASE ...
Ничего криминального не делают, но:
1. когда сравниваю DB с проектом, то их показывает. При этом в самой DB их нет, я проверил!
2. когда же сравниваю проект с базой, то ничего не находит!
Прикола ради скопировал их скрипты и попытался сам создать их повторно в базе - нет, говорит, такие объекты уже есть.
Это как так?
23 сен 19, 10:23    [21976549]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Yuri Abele,

такие вроде в master создаются
23 сен 19, 10:29    [21976554]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
TaPaK,

я, конечно, сразу посмотрел - SSMS ничего не показывает
23 сен 19, 10:32    [21976557]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Yuri Abele
TaPaK,

я, конечно, сразу посмотрел - SSMS ничего не показывает

server object - triggers
23 сен 19, 10:37    [21976564]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
SELECT * FROM sys.server_triggers их находит.
23 сен 19, 10:38    [21976565]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Yuri Abele
SELECT * FROM sys.server_triggers их находит.

значить суслика нет, или не там смотрите.
23 сен 19, 10:41    [21976567]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
TaPaK,

и как/где мне, по вашему, смотреть в SSMS?
23 сен 19, 11:54    [21976650]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Yuri Abele
TaPaK,

и как/где мне, по вашему, смотреть в SSMS?

уже всё написано
в ssms
server object - triggers
запросом в sys.server_triggers
23 сен 19, 11:58    [21976654]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Yuri Abele
Привет.
Я dbo в базе, и даже sysadmin на сервере.
Выполнил с утра в Visual Studio Schema Compare для нашей базы (хотел изменения затащить) и обнаружил два тригера:
один ... ON ALL SERVER after CREATE_DATABASE ...
другой ... ON ALL SERVER after DROP_DATABASE ...
Ничего криминального не делают, но:
1. когда сравниваю DB с проектом, то их показывает. При этом в самой DB их нет, я проверил!
2. когда же сравниваю проект с базой, то ничего не находит!
Прикола ради скопировал их скрипты и попытался сам создать их повторно в базе - нет, говорит, такие объекты уже есть.
Это как так?
Это так, что в настройках сравнения можно указать дополнительные опции. "Включать логины", например, которые тоже, строго говоря, к базе отношения не имеют, а являются частью сервера, но могут иметь значение для корректного функционирования базы.
Так и серверные триггеры - не являясь частью базы, могут иметь значение и быть включенными в проект базы.
Ну и два кейса, которые вы привели, могут иметь определенную логику: когда вы сравниваете проект с базой, то в проекте триггеры не включены, поэтому накатывать на сервер нечего - с сервера они тоже не читаются. А когда наоборот - сравниваете базу с проектом, он предлагает вам еще триггеры включить в проект - вдруг вы решите, что их надо добавить.
Но это предположение, у меня нет точной информации, в чем причина.
23 сен 19, 13:51    [21976822]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
Гулин Федор
Member

Откуда: МИНСК
Сообщений: 1202
Yuri Abele
SELECT * FROM sys.server_triggers их находит.


я точно помню когда скрпитуешь DDL в Tasks
по умолчанию стоит не скриптовать триггеры
99% что это не тот случай - но сам факт
я как то попадался - глядя на DDL и не зная того что там есть тригер
пытался удалить большой кусок таблыц
23 сен 19, 14:12    [21976851]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30700
Гулин Федор
я точно помню когда скрпитуешь DDL в Tasks
по умолчанию стоит не скриптовать триггеры
Ага, я сразу меняю эти опции после установки студии - и всегда удивляюсь, почему выбрано такое умолчание...
23 сен 19, 14:37    [21976899]     Ответить | Цитировать Сообщить модератору
 Re: Не видимый даже DBO тригер - это как?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8642
alexeyvg
Гулин Федор
я точно помню когда скрпитуешь DDL в Tasks
по умолчанию стоит не скриптовать триггеры
Ага, я сразу меняю эти опции после установки студии - и всегда удивляюсь, почему выбрано такое умолчание...

Репликация?
23 сен 19, 21:51    [21977321]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить