powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Залогировать время выполненя запроса
54 сообщений из 54, показаны все 3 страниц
Залогировать время выполненя запроса
    #39910250
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Подскажите,кто сможет.
Нужно отследить действия пользователя А в БД.
Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов.
Подскажите,как это лучше сделать средствами MSSQL
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910253
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Profiler чем-то не устроил, или просто "не в курсе" ?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910402
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Можете ещё Extended Events заюзать
Вот тут https://billg.sqlteam.com/2018/05/16/sql-server-extended-events-in-production/
есть кейс похожий
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910459
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
Максим Александровитч,

Profiler чем-то не устроил, или просто "не в курсе" ?


Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910461
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Glebanski
Максим Александровитч,

Можете ещё Extended Events заюзать
Вот тут https://billg.sqlteam.com/2018/05/16/sql-server-extended-events-in-production/
есть кейс похожий


Понял.Посмотрю спс
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910665
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет...с 2014 EV есть.
У меня 2008 R2
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910679
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
court
Максим Александровитч,

Profiler чем-то не устроил, или просто "не в курсе" ?


Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть
дефолтный трейс вообще постоянно запущен. Никто ещё не умер от этого.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910715
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mind
Максим Александровитч
пропущено...


Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть
дефолтный трейс вообще постоянно запущен. Никто ещё не умер от этого.


Что-то мне подсказывает,что трейс будет вовсе не дефолтным
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910717
Mr. X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Максим Александровитч,

Тогда сами раз в мин, например, собирайте ифу запросом.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910809
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr. X
Максим Александровитч,

Тогда сами раз в мин, например, собирайте ифу запросом.


Да,по сути к этому же я пришел..По другому,походу никак..
Может кто-ть в курсе,есть ли какое-ть сторонее ПО для этих целей?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910849
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Mind
пропущено...
дефолтный трейс вообще постоянно запущен. Никто ещё не умер от этого.


Что-то мне подсказывает,что трейс будет вовсе не дефолтным
Не-дефолтный трейс будет "жрёть", как вы выразились, намного меньше дефолтного, так что ничего страшного.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910850
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

use [Database]
select * from fn_dblog(null, null)
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39910992
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PsyMisha
Максим Александровитч,

use [Database]
select * from fn_dblog(null, null)



ЖТ..отгонь.
После шринка он живой этот лог?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911000
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
После шринка он живой этот лог?
Даже если живой, то в нем ничего нет ни о запросах select, ни о времени их выполнения.

Волшебной кнопки "залогировать что мне нужно" тоже нет.

Так что либо profiler, либо extended events. Само-собой с соответствующими фильтрами.
Или, если повезет и план запроса остается в кеше, периодически анализируйте sys.dm_exec_query_stats.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911007
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
Максим Александровитч
После шринка он живой этот лог?
Даже если живой, то в нем ничего нет ни о запросах select, ни о времени их выполнения.

Волшебной кнопки "залогировать что мне нужно" тоже нет.

Так что либо profiler, либо extended events. Само-собой с соответствующими фильтрами.
Или, если повезет и план запроса остается в кеше, периодически анализируйте sys.dm_exec_query_stats.


да,это я понял.
Штука в том,что EV от 2014 и выше,у меня 2008 R2
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911010
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Штука в том,что EV от 2014 и выше,у меня 2008 R2
https://www.sqlteam.com/articles/introduction-to-sql-server-2008-extended-events
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911047
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
Максим Александровитч
Штука в том,что EV от 2014 и выше,у меня 2008 R2
https://www.sqlteam.com/articles/introduction-to-sql-server-2008-extended-events

Спс посмотрю
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911087
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
invm
пропущено...
Даже если живой, то в нем ничего нет ни о запросах select, ни о времени их выполнения.

Волшебной кнопки "залогировать что мне нужно" тоже нет.

Так что либо profiler, либо extended events. Само-собой с соответствующими фильтрами.
Или, если повезет и план запроса остается в кеше, периодически анализируйте sys.dm_exec_query_stats.


да,это я понял.
Штука в том,что EV от 2014 и выше,у меня 2008 R2


А чего в какие-то дебри лезть. INSERT GETDATE() до за запроса, INSERT GETDATE() после запроса -- чем не устраивает, если вам надо логировать специфический запрос.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911122
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Максим Александровитч
пропущено...


да,это я понял.
Штука в том,что EV от 2014 и выше,у меня 2008 R2


А чего в какие-то дебри лезть. INSERT GETDATE() до за запроса, INSERT GETDATE() после запроса -- чем не устраивает, если вам надо логировать специфический запрос.


Нет,мне нужно логировать скорее не запрос,а пользователя,который может выполнять запросы эти..А он может выполнять абсолютно любые операции CRUD, т.к. это унифицированный пользователь,под которым могут работать более 1000 пользователей.
Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911128
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
a_voronin
пропущено...


А чего в какие-то дебри лезть. INSERT GETDATE() до за запроса, INSERT GETDATE() после запроса -- чем не устраивает, если вам надо логировать специфический запрос.


Нет,мне нужно логировать скорее не запрос,а пользователя,который может выполнять запросы эти..А он может выполнять абсолютно любые операции CRUD, т.к. это унифицированный пользователь,под которым могут работать более 1000 пользователей.
Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление.


Дата "до" в переменную, дата "после" в переменную, далее DATEDIFF и разница в инкремент счетчика с получением значения и принятием решения об уведомлении.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911144
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Максим Александровитч
пропущено...


Нет,мне нужно логировать скорее не запрос,а пользователя,который может выполнять запросы эти..А он может выполнять абсолютно любые операции CRUD, т.к. это унифицированный пользователь,под которым могут работать более 1000 пользователей.
Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление.


Дата "до" в переменную, дата "после" в переменную, далее DATEDIFF и разница в инкремент счетчика с получением значения и принятием решения об уведомлении.


Так..и куда мне это пихать?Если я не знаю,какой запрос и когда запустит этот юзер?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911437
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
court
Максим Александровитч,

Profiler чем-то не устроил, или просто "не в курсе" ?


Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть


Чтобы не жрал сохраняйте в таблицу на другом сервере.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911438
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Максим Александровитч
пропущено...


Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть


Чтобы не жрал сохраняйте в таблицу на другом сервере.


Другое сервер,конечно,бездонный)
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911441
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

а какой объем запросов создает _один_ пользователь? Или Вы просто спекулируете не проведя эксперимент?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911442
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Максим Александровитч,

а какой объем запросов создает _один_ пользователь? Или Вы просто спекулируете не проведя эксперимент?


Эти запросы отсасывают темдб...за час где-то 120 ГБ..
Можно юзать говернора..но не все так однозначно
если не прекратить,то за час они могут залить данных столько же..
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911452
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

объем записанной профайлером трассировки не связан с размером заполнения tempdb. Поставьте фильтры, уберите лишние колонки, будет не так много записано.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911491
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Максим Александровитч,

объем записанной профайлером трассировки не связан с размером заполнения tempdb. Поставьте фильтры, уберите лишние колонки, будет не так много записано.
+ 1 Выдуманная проблема, уж если дефаултный трейс серьёзно не мешает, то этот вообще будет незаметен. Фильтр на пользователя, + дюрейшен по определению не может нагрузить, именно из за фильтра по дюрейшену.
Максим Александровитч
Владислав Колосова какой объем запросов создает _один_ пользователь? Или Вы просто спекулируете не проведя эксперимент?

Эти запросы отсасывают темдб...за час где-то 120 ГБ..Вопрос Владислава Колосова был про объём запросов. Запросы с текстом размера 120 Гб пользователь явно не посылает.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911552
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
+ 1 Выдуманная проблема, уж если дефаултный трейс серьёзно не мешает, то этот вообще будет незаметен. Фильтр на пользователя, + дюрейшен по определению не может нагрузить, именно из за фильтра по дюрейшену.
В отличие от Extended Events, фильтры в SQL Trace ограничивают то, что уходит в результат, а не генерацию событий.
Для фильтрации по duration нужно включать SQL:StmtCompleted. И генерироваться это событие будет для всех выполняемых запросов и только потом уже отфильтровываться.
Насколько это повлияет на производительность можете оценить самостоятельно.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911572
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm
alexeyvg
+ 1 Выдуманная проблема, уж если дефаултный трейс серьёзно не мешает, то этот вообще будет незаметен. Фильтр на пользователя, + дюрейшен по определению не может нагрузить, именно из за фильтра по дюрейшену.
В отличие от Extended Events, фильтры в SQL Trace ограничивают то, что уходит в результат, а не генерацию событий.
Для фильтрации по duration нужно включать SQL:StmtCompleted. И генерироваться это событие будет для всех выполняемых запросов и только потом уже отфильтровываться.
Насколько это повлияет на производительность можете оценить самостоятельно.
Так внутри обработка делается быстро, разве нет?
И, концептуально, события в профайлере, и Extended Events, одинаковы, просто совершенно разная реализация.

События ведь в любом случае генерятся все существующие (как иначе, ведь не загружается же новый код database engine при запуске профайлера?), но при установке трассы сначала добавляется обработчик, притом явно на верхнем уровне цепочки, а дальше в обработке идёт проверка фильтров.

То есть, теоретически, заметно влиять не должно, то есть, можно сделать, что бы не влияло. А вот как сделано на самом деле, интересно было бы узнать. Или хотя бы потестить.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911574
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Добрый день.
Подскажите,кто сможет.
Нужно отследить действия пользователя А в БД.
Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов.
Подскажите,как это лучше сделать средствами MSSQL


Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики.

Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911581
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Максим Александровитч
Добрый день.
Подскажите,кто сможет.
Нужно отследить действия пользователя А в БД.
Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов.
Подскажите,как это лучше сделать средствами MSSQL


Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики.

Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры.

ИМХО наоборот не надо смешивать бизнес логику с мониторингом и логированием.
Хватает инструментов, чтобы отловить долгие запросы, нотификации настроить и статистику красиво вывести, не захламляя при этом код своими велосипедами.

ТСу хочется средствами MSSQL. Это Extended Events, либо Trace.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911585
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
Mr. X
Максим Александровитч,

Тогда сами раз в мин, например, собирайте ифу запросом.


Да,по сути к этому же я пришел..По другому,походу никак..
Может кто-ть в курсе,есть ли какое-ть сторонее ПО для этих целей?

А в каком виде вы хотите собирать данные? Как с этим работать?

ПО для мониторинга полно на рынке. Мы к примеру используем NewRelic и Raygun.
Но прежде чем что-то советовать, хотелось бы какие-то требования увидеть.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911673
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
a_voronin
пропущено...


Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики.

Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры.

ИМХО наоборот не надо смешивать бизнес логику с мониторингом и логированием.
Хватает инструментов, чтобы отловить долгие запросы, нотификации настроить и статистику красиво вывести, не захламляя при этом код своими велосипедами.

ТСу хочется средствами MSSQL. Это Extended Events, либо Trace.


А по-моему вот это бизнес логика по распределению ресурсов.

"Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление."
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911750
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Дмитрий Мух
пропущено...

ИМХО наоборот не надо смешивать бизнес логику с мониторингом и логированием.
Хватает инструментов, чтобы отловить долгие запросы, нотификации настроить и статистику красиво вывести, не захламляя при этом код своими велосипедами.

ТСу хочется средствами MSSQL. Это Extended Events, либо Trace.


А по-моему вот это бизнес логика по распределению ресурсов.

"Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление."
Простите, но какой бизнес по вашему строится на такой логике?
Что за предметная область?

По мне так простейший алерт в системе мониторинга. Обычно мышкой накликивается.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911838
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
a_voronin
пропущено...


А по-моему вот это бизнес логика по распределению ресурсов.

"Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление."
Простите, но какой бизнес по вашему строится на такой логике?
Что за предметная область?

По мне так простейший алерт в системе мониторинга. Обычно мышкой накликивается.


Бизнес-логика состоит в разделении ресурсов, в отправке сообщения, в выделении пользователю квоты. Это конечно не логика проведения платежа или приема товара на склад, но это все же нечто, что взаимодействует с юзером, оказывает на него влияние.

Это явно не тот мониторинг, который делается для оптимизации производительности.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911887
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На обработку событий все время тратится время - с профилировщиком или без, другой вопрос - сколько "хуков" мы подвесим на эти события и какой IO у нас при этом возникнет в связи с частотой событий. IO на том же сарвере будет, конечно же, вредоносным. Из-за чего у начинающих сыщиков падают сервера. В любом случае, лучшие практики использования профайлера уже описаны в открытых источниках.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911992
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спс..
Буду юзать профайлер..
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39911995
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С другой стороны есть Заббикс.
но,опять же,опрос-то производится с помощью скуля.
Заббикс лишь регулирует периодичность..
Надо подумать
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912025
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Максим Александровитч
Добрый день.
Подскажите,кто сможет.
Нужно отследить действия пользователя А в БД.
Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов.
Подскажите,как это лучше сделать средствами MSSQL


Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики.

Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры.


Это практически невозможно...я говорил почему
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912099
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912100
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Максим Александровитч,

https://docs.microsoft.com/ru-ru/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-procedure-stats-transact-sql?view=sql-server-ver15

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT 
       z.a AS               [Процедура]
     ,
       d.total_elapsed_time
       / d.execution_count
       / 1000000. AS        [Среднее время выполнения, сек.]
     ,
       d.last_elapsed_time
       / 1000000. AS        [Последнее время выполнения, сек.]
     , d.execution_count AS [Количество выполнений, шт.]
FROM 
     sys.dm_exec_procedure_stats AS d
     CROSS APPLY(VALUES( 
                        QUOTENAME(DB_NAME(d.database_id))+'.'+QUOTENAME(OBJECT_SCHEMA_NAME([object_id]))+'.'+QUOTENAME(OBJECT_NAME([object_id], database_id))
                        )) AS z(a)
WHERE z.a IS NOT NULL
       ORDER BY 
                [Процедура];
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912104
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч,

Таблица на другом сервере была? А фильтр по пользователю или для всех? Фильтр каких событий?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912133
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер
Что случилось, уронили со стола?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912144
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Максим Александровитч,

Для текущих запросов можно поиграться с
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT 
       z.a AS [Время, прошедшее со времени соединения с сервером, сек]
     , t.[text]
FROM 
     sys.sysprocesses AS s
     CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) AS t
                                                         CROSS APPLY(VALUES( 
                                                                            DATEDIFF(SECOND, s.login_time, GETDATE())
                                                                            )) AS z(a)
WHERE z.a > 100 -- выбрать все команды, у которых время, прошедшее со времени соединения с сервером дольше 100 сек
      AND s.[dbid] = DB_ID()
      AND spid != @@SPID
      AND [status] != 'sleeping'
       ORDER BY 
                z.a DESC;
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39912147
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
А фильтр по пользователю или для всех? Фильтр каких событий?
Планировалось с фильтром по одному пользователю, и событие комплитед с фиьтром по duration
Но видимо сам собой создался трейс без фильтров, и на все события, и сервер "упал" :-)
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914031
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Александровитч
После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер
Вы профайлер что-ли запустили??
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914033
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint,

Гениально. Может ещё фильтр по пользователю покажете как сделать?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914102
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mind,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SELECT 
       z.a AS [Время, прошедшее со времени соединения с сервером, сек]
     , t.[text]
     , s.[loginame]
FROM 
     sys.sysprocesses AS s
     CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) AS t
                                                         CROSS APPLY(VALUES( 
                                                                            DATEDIFF(SECOND, s.login_time, GETDATE())
                                                                            )) AS z(a)
WHERE z.a > 100 -- выбрать все команды, у которых время, прошедшее со времени соединения с сервером дольше 100 сек
      AND s.[dbid] = DB_ID()
      AND s.spid != @@SPID
      AND s.[status] != 'sleeping'
      AND s.[loginame] = '[введите нужный логин]'
       ORDER BY 
                z.a DESC;
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914232
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint, зачем во втором cross apply, values пишите?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914234
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nullin,

entrypoint, зачем во втором cross apply, values пишите?

а что нужно писать ?
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914243
nullin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint, по мне удобнее так:
Код: sql
1.
CROSS APPLY(SELECT DATEDIFF(SECOND, s.login_time, GETDATE()) AS a) AS z


А values лучше, когда есть набор.
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39914257
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nullin,

При code-review сразу видно, что
SELECT - это операция соединения, когда необходим контроль выражения CROSS/OUTER APPLY
VALUES - операция без соединения - всегда CROSS APPLY

такой code-style
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39915549
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
nullin,

При code-review сразу видно, что
SELECT - это операция соединения, когда необходим контроль выражения CROSS/OUTER APPLY
VALUES - операция без соединения - всегда CROSS APPLY

такой code-style


Спс
...
Рейтинг: 0 / 0
Залогировать время выполненя запроса
    #39915552
Максим Александровитч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mind
Максим Александровитч
После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер
Вы профайлер что-ли запустили??


Да,с фильтром по БД и польователю
...
Рейтинг: 0 / 0
54 сообщений из 54, показаны все 3 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Залогировать время выполненя запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]