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

Откуда:
Сообщений: 179
Здравствуйте.
Подскажите, пожалуйста, идеи как лучше всего протоколировать операцию SELECT, обращение к таблице.
Изменения вроде как через триггеры...
Необходимо для СБ.
SQL Server 2012
23 мар 16, 11:24    [18967447]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Glory
Member

Откуда:
Сообщений: 104751
CREATE SERVER AUDIT
SQL Server Trace
23 мар 16, 11:28    [18967470]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8570
Nemoxur,

Если для СБ, по перекройте доступ к таблицам, выполняйте запросы только через процедуры. В процедурах несложно сделать журналирование параметров вызова, пользователей. В проектировании надо сразу закладывать уровень аудита и безопасности, иначе - полная реконструкция.
Если невозможно, то ресурсоёмкий способ, как написано выше.
23 мар 16, 12:09    [18967716]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Nemoxur
Member

Откуда:
Сообщений: 179
Спасибо, буду изучать.
Процедуры не подходят.
23 мар 16, 12:39    [18967817]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Nemoxur
Member

Откуда:
Сообщений: 179
Как определись содержание переменной @P1 в журнале аудит?
Например
SELECT id FROM mytable id = @P1
24 мар 16, 16:21    [18974186]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nemoxur
в журнале аудит?

Аудит - это не дебаггер.
24 мар 16, 16:27    [18974229]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Nemoxur
Member

Откуда:
Сообщений: 179
Glory
Nemoxur
в журнале аудит?

Аудит - это не дебаггер.

Я понимаю что аудит это не дебагер, но СБ хотела бы понимать, что запрос выводил пользователю, какие именно данные.
Например
id
1
2
3
Что выбиралась именно 2, а не 1 или 3.

Можно ли узнать содержание @P1 или это невозможно?
24 мар 16, 16:38    [18974284]     Ответить | Цитировать Сообщить модератору
 Re: Как протоколировать операцию SELECT  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nemoxur
Я понимаю что аудит это не дебагер, но СБ хотела бы понимать, что запрос выводил пользователю, какие именно данные.

Мне просто интересно
- вот запрос выводит миллион записей
- его запустили 10 пользователей
Ваша СБ действительно хочет сохранить содержимое 10 запросов по 1млн записей каждый ?


Nemoxur
Можно ли узнать содержание @P1 или это невозможно?

Аудит ничего не знает про содержимое памяти. Аудит может показать команду, в которой была произведена инициализация переменной. И если переменная была инициализирована константой, то вы увидите "значение переменной"

Если вам был нужен такой функционал, то его надо было заранее проектировать и программировать в самой вашей системе.
24 мар 16, 16:45    [18974333]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить