Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Есть задача логировать обращения к процедурам от внешних сервисов. Кто-нибудь делал у себя такое? Вариант логировать на стороне вызывающего сервиса неудобен, их несколько и сложно реализуемо. Вставлять в каждую процедуру блок логирования тоже трудоемкий, их много. И требует того чтобы помнить об этом при создании новых процедур. Пытался сделать через EVENT SESSION но неудобно работать с получателем сигналов. Там либо в двоичный файл, но читать его можно только средствами SQL и очень неудобно. Либо получатель ring_buffer, но он тяжелый, медленно выборка идет, плюс чтобы из него забрать данные надо настраивать джоб чтения, а это лишнее звено. Может еще какие-то варианты есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 11:35 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Alex1975Может еще какие-то варианты есть? https://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procedure-execution-history/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 13:46 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
komradAlex1975Может еще какие-то варианты есть? например, sys.dm_exec_procedure_stats Не подходит. Нужны полные вызовы. Со значением переданных параметров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 14:45 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Alex1975, ну или аудит, или "Вставлять в каждую процедуру блок логирования" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 14:52 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Extended events + https://dbatools.io/xevents/ + грузим результат в систему мониторинга или отдельную БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 16:37 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Alex1975Нужны полные вызовы. Со значением переданных параметров.Пишите служебную процедуру, которая на вход принимает имя процедуры и на основе метаданных будет делать следующее: 1. Переносить процедуру в специальную схему. 2. Генерировать и создавать процедуру с исходным именем и в исходной схеме, которая будет логировать вызов и далее вызывать нужную процедуру в специальной схеме из п.1. Вызвать такую служебную процедуру для N процедур - дело техники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 17:19 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Eleanor, тоже хороший вариант со своими плюсами и, само собой, недостатками. Правда автор не озвучил @@version (а вдруг там express) и нагрузку. На серверах с высоким значением batch\sec и тяжелыми запросами полное логирование станет довольно ресурсоемкой штукой, тогда как extended events создают минимальную нагрузку на рабочий инстанс, а их разбор внешними средствами не потребляет ресурсы MSSQL (CPU). MDW и SSIS\SQLAgentJobs усложняют схему мониторинга, extended events работают (и попадают в мониторинг) пока работает ядро. И если брать чуть шире задачи автора (аудит запросов): Extended Events "шире" - дают больше событий чем trace. Сам на части проектов использовал Data Collection, так как можно воткнуть практически "из коробки". Потом перевез на extended events. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2018, 19:15 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
Alex1975Есть задача логировать обращения к процедурам от внешних сервисов. ... Может еще какие-то варианты есть?Так и не понял, что нужно. То ли отладить эти внешние сервисы, то ли отладить хранимые процедуры на сервере sql приложений. Если нужны сами внешние сервисы и ПО позволяет , то не проще ли административно включить на тех машинах ODBC трассировку ? Там будут все попытки обращений к серверу, а не только успешные. Ещё это . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 09:24 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
tunknownЕсли нужны сами внешние сервисы и ПО позволяет , то не проще ли административно включить на тех машинах ODBC трассировку ?Проще, но логирование сервиса (модуля, сервера, приложения) лучше (правильнее) делать внутри него, а не забирая логи откуда то ещё. Кто там будет писать сервисы, как, какие команды, кому они будут подчиняться, когда это будет, кто разработчикам скажет о необходимости логирования, кто будет собирать эти новые логи в единую систему, где они в итоге должны лежать и анализироваться? Многоуровневые/многомодульные приложения придуманы в том числе и для того, что бы команда, отвечающая за модуль, делала его самодостаточным, включая и логирование, если оно нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 09:48 |
|
||
|
Логирование обращений к серверу
|
|||
|---|---|---|---|
|
#18+
авторПравда автор не озвучил @@version (а вдруг там express) и нагрузку. Microsoft SQL Server 2014 (SP2-GDR) (KB4019093) - 12.0.5207.0 (X64) Jul 3 2017 02:25:44 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor) Нагрузка порядка 100 тыс. вызовов в минуту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2018, 14:49 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39750219&tid=1688561]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 355ms |

| 0 / 0 |
