Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 логирование Insert, Update, Delete для определенных машин в сети  [new]
ther
Member

Откуда:
Сообщений: 777
как такое можно реализовать? Я смотрел в сторону профайлера, но набор cmd команд для него весьма ограничен, да и контроль за его запуском нужен. В триггерах DDL такое сделать нельзя. Может есть "технические" таблицы, куда пишутся все запросы?
смотрел в сторону
sys.dm_exec_query_stats и sys.dm_exec_sql_text(qs.sql_handle) но там нет автора запроса. Да и не понял, как определить Insert, Update, Delete, ибо поиск по тексту по этим ключевым словам дает много мусора.
12 сен 18, 14:41    [21672236]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 4555
ther
как такое можно реализовать? Я смотрел в сторону профайлера, но набор cmd команд для него весьма ограничен, да и контроль за его запуском нужен. В триггерах DDL такое сделать нельзя. Может есть "технические" таблицы, куда пишутся все запросы?
смотрел в сторону
sys.dm_exec_query_stats и sys.dm_exec_sql_text(qs.sql_handle) но там нет автора запроса. Да и не понял, как определить Insert, Update, Delete, ибо поиск по тексту по этим ключевым словам дает много мусора.


посмотрите ExtendedEvents
https://www.brentozar.com/archive/2015/01/three-reasons-use-extended-events/
12 сен 18, 15:07    [21672286]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
msLex
Member

Откуда:
Сообщений: 5636
ther
как такое можно реализовать? Я смотрел в сторону профайлера, но набор cmd команд для него весьма ограничен, да и контроль за его запуском нужен. В триггерах DDL такое сделать нельзя. Может есть "технические" таблицы, куда пишутся все запросы?
смотрел в сторону
sys.dm_exec_query_stats и sys.dm_exec_sql_text(qs.sql_handle) но там нет автора запроса. Да и не понял, как определить Insert, Update, Delete, ибо поиск по тексту по этим ключевым словам дает много мусора.


Extended Events

смотрите в сторону событий
sp_statement_starting
sp_statement_completed
sql_statement_starting
sql_statement_completed
12 сен 18, 15:09    [21672288]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
aleks222
Member

Откуда:
Сообщений: 310
msLex
ther
как такое можно реализовать? Я смотрел в сторону профайлера, но набор cmd команд для него весьма ограничен, да и контроль за его запуском нужен. В триггерах DDL такое сделать нельзя. Может есть "технические" таблицы, куда пишутся все запросы?
смотрел в сторону
sys.dm_exec_query_stats и sys.dm_exec_sql_text(qs.sql_handle) но там нет автора запроса. Да и не понял, как определить Insert, Update, Delete, ибо поиск по тексту по этим ключевым словам дает много мусора.


Extended Events

смотрите в сторону событий
sp_statement_starting
sp_statement_completed
sql_statement_starting
sql_statement_completed


И ведь никто не сказал страдальцу: "машину" ты как определять собрался?

PS. HOST_NAME() - это иллюзия.
12 сен 18, 15:22    [21672310]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
ther
Member

Откуда:
Сообщений: 777
у страдальца кто то из программеров удалил запросом приходный документ на живой базе. Теперь надо такие хрени отслеживать.
sp_statement_starting
sp_statement_completed
sql_statement_starting
sql_statement_completed
вроде то, что надо, а вот по поводу HOST_NAME() , я знаю, но, может там есть и это, но пока читаю, пробую, предварительно правильное направление
Спасибо
12 сен 18, 15:30    [21672324]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
TaPaK
Member

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

а в чём смысл хранения запроса? есть масса средст отслеживания изменений
12 сен 18, 15:35    [21672337]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
msLex
Member

Откуда:
Сообщений: 5636
ther
у страдальца кто то из программеров удалил запросом приходный документ на живой базе. Теперь надо такие хрени отслеживать.
sp_statement_starting
sp_statement_completed
sql_statement_starting
sql_statement_completed
вроде то, что надо, а вот по поводу HOST_NAME() , я знаю, но, может там есть и это, но пока читаю, пробую, предварительно правильное направление
Спасибо


Там есть user_name. Если у вас разработчики не под SA ходят, этого будет более чем достаточно.
12 сен 18, 15:36    [21672341]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
invm
Member

Откуда: Москва
Сообщений: 8155
ther
Теперь надо такие хрени отслеживать.
Не надо пускать кого попало на живую базу. Тогда и отслеживать не придется.
12 сен 18, 15:51    [21672362]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
ther
Member

Откуда:
Сообщений: 777
invm
Не надо пускать кого попало на живую базу. Тогда и отслеживать не придется.

кто попало может выполнять инструкцию начальства, и забыть. Так же начальство может баловаться запросами
ПС
client_hostname дает то, что надо
12 сен 18, 16:19    [21672434]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
invm
Member

Откуда: Москва
Сообщений: 8155
ther
кто попало может выполнять инструкцию начальства, и забыть. Так же начальство может баловаться запросами
Вот эти персонажи и есть "кто попало" с точки зрения прямого доступа к БД.
12 сен 18, 16:31    [21672457]     Ответить | Цитировать Сообщить модератору
 Re: логирование Insert, Update, Delete для определенных машин в сети  [new]
aleks222
Member

Откуда:
Сообщений: 310
ther
invm
Не надо пускать кого попало на живую базу. Тогда и отслеживать не придется.

кто попало может выполнять инструкцию начальства, и забыть. Так же начальство может баловаться запросами
ПС
client_hostname дает то, что надо


Наивный чутокский юноша.

Даже не надо компутер перезагружать, шоб стать другим hostname.
12 сен 18, 17:41    [21672552]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить