Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Подскажите как сделать триггер на отключение триггера?

Чтобы его кто триггер отключить захочет - не увидел.
15 мар 17, 11:06    [20296766]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
есть таблица, на которой триггер на инсерт и апдэйт.

Хочу сделать триггер на отключение этого триггера.\


чтобы не могли бесследно отключить триггер на таблице и сделать апдэйт руками.
15 мар 17, 11:07    [20296771]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
sql_user2,

google ddl trigger
15 мар 17, 11:09    [20296783]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
o-o
Guest
TaPaK
sql_user2,

google ddl trigger

... и он НЕ отловит disable trigger
15 мар 17, 11:36    [20296957]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
sql_user2
чтобы не могли бесследно отключить триггер на таблице и сделать апдэйт руками.
А не надо выдавать разрешение на отключение триггеров. Тогда и не отключат.
Тем более, что триггер можно отключить так, что никакие защитные триггеры не спасут.
15 мар 17, 11:36    [20296961]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
o-o
TaPaK
sql_user2,

google ddl trigger

... и он НЕ отловит disable trigger
вы про отключение самого триггера ddl?
15 мар 17, 11:37    [20296968]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
invm
sql_user2
чтобы не могли бесследно отключить триггер на таблице и сделать апдэйт руками.
А не надо выдавать разрешение на отключение триггеров. Тогда и не отключат.
Тем более, что триггер можно отключить так, что никакие защитные триггеры не спасут.

в общем не первая тема про шпионов и контрразведку :)
15 мар 17, 11:37    [20296973]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8815
Запретите ALTER TABLE для пользователей.
15 мар 17, 11:39    [20296994]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
o-o
Guest
TaPaK
o-o
пропущено...

... и он НЕ отловит disable trigger
вы про отключение самого триггера ddl?

мы про синтаксис disable trigger ... on ...
в отличие от alter table... disable trigger
15 мар 17, 11:41    [20297006]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Владислав Колосов
Запретите ALTER TABLE для пользователей.


это филлиал и там под sa местный админ
15 мар 17, 11:47    [20297059]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Кстати, еще вопрос, отдельную тему создавать не буду.

КОгда срабатывает триггер на апдэйт 1 записи, в менаджмент студио пишется

(1 row(s) affected)

(1 row(s) affected)


т.е. два раза.


А при удалении триггера одни раз пишется.
(1 row(s) affected)


Как сделать чтобы при использовании триггера писалось тоже 1 раз как буд-то его нет?
15 мар 17, 11:51    [20297080]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
o-o
Guest
set nocount on и не будет писать вообще
15 мар 17, 11:52    [20297089]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
sql_user2
Владислав Колосов
Запретите ALTER TABLE для пользователей.

это филлиал и там под sa местный админ
Против лома нет приёма.
15 мар 17, 11:55    [20297110]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
o-o
set nocount on и не будет писать вообще


о, отлично!!

Спасибо!
15 мар 17, 11:57    [20297125]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
o-o
Guest
тупость админа можно всегда оценить.
и скорректировать под результат свою деятельность.
не все, у кого есть права, их достойны.
15 мар 17, 11:58    [20297129]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
o-o
TaPaK
пропущено...
вы про отключение самого триггера ddl?

мы про синтаксис disable trigger ... on ...
в отличие от alter table... disable trigger

да, вы правы, ms предлагает не давать права :)
15 мар 17, 11:59    [20297133]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Еще вопрос, чтобы форум не засорять - спрошу здась:


Как имя пользователя, время, имя приложения и дату включить в триггере,

типа USER_NAME и типа того, чтобы вместе с inserted эту инфу вставить.
15 мар 17, 12:01    [20297150]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
sql_user2
Еще вопрос, чтобы форум не засорять - спрошу здась:


Как имя пользователя, время, имя приложения и дату включить в триггере,

типа USER_NAME и типа того, чтобы вместе с inserted эту инфу вставить.



нашел ))

https://msdn.microsoft.com/ru-ru/library/ms186236.aspx
15 мар 17, 12:06    [20297186]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
sql_user2
sql_user2
Еще вопрос, чтобы форум не засорять - спрошу здась:


Как имя пользователя, время, имя приложения и дату включить в триггере,

типа USER_NAME и типа того, чтобы вместе с inserted эту инфу вставить.



нашел ))

https://msdn.microsoft.com/ru-ru/library/ms186236.aspx



но там нет имени компьютера откуда запрос и имени приложения.

Это вообще можно как-то узнать в триггере?
15 мар 17, 12:09    [20297207]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
sql_user2,

https://msdn.microsoft.com/en-us/library/ms176013.aspx
15 мар 17, 12:11    [20297213]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
o-o
Guest
sql_user2
Как имя пользователя
типа USER_NAME и типа того, чтобы вместе с inserted эту инфу вставить.

лучше логировать original_login(),
ибо злоумышленник может действовать, имперсонэйтившись в кого-то.
даже в вас.
----
от user_name толку вообще мало, если товарищ dbo
15 мар 17, 12:15    [20297230]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
TaPaK
sql_user2,

https://msdn.microsoft.com/en-us/library/ms176013.aspx



о, то, что надо!!!

благодарю!
15 мар 17, 12:21    [20297247]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
o-o
sql_user2
Как имя пользователя
типа USER_NAME и типа того, чтобы вместе с inserted эту инфу вставить.

лучше логировать original_login(),
ибо злоумышленник может действовать, имперсонэйтившись в кого-то.
даже в вас.
----
от user_name толку вообще мало, если товарищ dbo


да я и то и другое влючить думаю
15 мар 17, 12:24    [20297263]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
TaPaK
sql_user2,

https://msdn.microsoft.com/en-us/library/ms176013.aspx



а там получается подзапрос надо писть?

Просто те значения, например host_name просто в селект не вставляется:
SELECT ORIGINAL_LOGIN( ) as ORIGINAL_LOGIN, SUSER_SNAME() as SUSER_SNAME, USER_NAME() as USER_NAME,

а если подзапрос делать, как привязвать sys.dm_exec_sessions к пользователю, который делает апдайт?
15 мар 17, 12:26    [20297270]     Ответить | Цитировать Сообщить модератору
 Re: сделать триггер на отключение триггера  [new]
sql_user2
Member

Откуда:
Сообщений: 382
хотя HOST_NAME() вставляется


select HOST_NAME(),program_name()


15 мар 17, 12:29    [20297282]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить