Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
Добрый день. Вот запустил, я профайлер. В него что-то там пишется в огромном количестве. А где это он все сохраняет? Хочу оставить на ночь, но боюсь что диск переполнится.... |
14 сен 17, 18:05 [20796759] Ответить | Цитировать Сообщить модератору |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
можно ли сделать чтобы он сразу в файл писал без отображения на экране? и ограничение на размер файла поставить, например. В общем, скажите как кошерно профайлер запускать на ночь на нагруженном сервере? |
14 сен 17, 18:06 [20796763] Ответить | Цитировать Сообщить модератору |
buser Member Откуда: Санкт-Петербург Сообщений: 4537 |
дампер, https://docs.microsoft.com/en-us/sql/relational-databases/sql-trace/create-and-run-traces-using-transact-sql-stored-procedures лучше не запускать... Гляньте на екстендед евентс :) |
14 сен 17, 18:12 [20796781] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3975 |
Направьте записи в таблицу в базе |
||
14 сен 17, 18:16 [20796799] Ответить | Цитировать Сообщить модератору |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
Интересный вариант, надо будет попрбовать. Просто сейчас срочн онадо запустить, уже все настроил в самом профайлере что надо. Главное чтобы не переполнился диск. И при разрыве соединения с сервером работа профайлера продолжилась. |
||
14 сен 17, 18:29 [20796833] Ответить | Цитировать Сообщить модератору |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
Нашел, при создании можно, спасибо :) |
||||
14 сен 17, 18:55 [20796922] Ответить | Цитировать Сообщить модератору |
Dmitry V. Liseev Member [заблокирован] Откуда: Санкт-Петербург Сообщений: 5489 |
Во-первых, он тормозит сервер. И очень сильно. Ибо пишет до нескольких тысяч записей в секунду, если писать всё подряд. Выход - писать не всё подряд. Например, я пишу только события, которые длились дольше 50 миллисекунд. Выходит около 10-20 записей в секунду. Соответственно, SP:Completed пишем, а SP:Starting не пишем. SQL:BatchCompleted пишем, а SQL:BatchStarting не пишем. Анализ такого неполного лога достаточно нетривиален. Например, есть огромный курсор. Каждая его итерация выполняется быстрее 50 миллисекунд, потому в трейс не пишется вообще. Но этих итераций миллион и именно этот курсор тормозит. Быстро его обнаружить такой трейс не позволит. Надо выбирать между уровнем детализации трейса и создаваемыми профайлером тормозами. Быстрее писать в файл на локальном диске сервера (меньше потери производительности). Но потом его всё равно для анализа надо заливать в базу. Я пишу сразу в базу (по сети на другой машине). Это позволяет сразу на лету анализировать. Собственно, у меня есть список событий, которые я ловлю для анализа проблем на продакшене (шаблон в профайлере). И есть набор скриптов для анализа трейса. Часто закидываю данные в Excel и строю диаграммы. |
||
14 сен 17, 20:10 [20797119] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
...чтобы максимально загрузить сервер и напропускать события, ибо захлебнется |
||
15 сен 17, 10:02 [20797883] Ответить | Цитировать Сообщить модератору |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
Ого, круто! Большое спасибо. Еще вопрос, скажите как отловить запуск процедуры, которая запускается в теле другой процедуры? В профайлер отлавливае вроде только запуск первой. А она внутри себя запускает другую и это не отлавливается (по крайней мере у меня не отловилось). |
||||
15 сен 17, 10:58 [20798059] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3975 |
можно поставить на другой машине какой-нибудь SQLEXPRESS |
||||
15 сен 17, 11:25 [20798194] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
...и мониторить его вместо нужного сервера? |
||||
15 сен 17, 11:39 [20798253] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3206 |
Ролг Хупин скорее всего ссылается на данный пункт в документации: If the table you save to is on the same server you’re tracing, you can create quite a large amount of server overhead and bandwidth utilization, so if you must use this option we recommend saving the data to a table on a different server. |
||||
15 сен 17, 13:29 [20798693] Ответить | Цитировать Сообщить модератору |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
А скажите, можно ли как-то профайлер запустить по расписанию? дата окончания есть при запуске. А вот как запустить его автоматически в нужное время? |
15 сен 17, 13:36 [20798711] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3206 |
дампер, По расписанию можно запустить не профайлер, а трейс на стороне сервера, который пишет в файл и создает минимальную нагрузку: Создаете в профайлере определение трейса, экспортируете его в sql скрипт (Export -> Script Trace Definition -> For Sql Server xxx) и запускаете этот скрипт по расписанию в Sql Server Agent. Если потом нужно перелить файл в таблицу, то открываете его профайлером и выбираете Sava As -> Trace Table |
15 сен 17, 14:05 [20798860] Ответить | Цитировать Сообщить модератору |
Ролг Хупин Member Откуда: Чебаркуль Сообщений: 3975 |
не, как написано выше и по ссылке - монитрить один сервер, а трейсы писать в базу другого. |
||||
15 сен 17, 15:54 [20799297] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
если честно, лучше бы он соседний пустой сервер трассировал...
он же не просто так заботится о месте на диске: у него дампы диск переполняют. подыхает сервер от бурной Козловской деятельности |
||
15 сен 17, 16:27 [20799430] Ответить | Цитировать Сообщить модератору |
дампер Member [заблокирован] Откуда: Сообщений: 55 |
Супер! Единственное что понять не могу - как сделать чтобы он в БД писал, а не в файл? только в файл дает ![]() exec @rc = sp_trace_create @TraceID output, 0, N'InsertFileNameHere', @maxfilesize, NULL if (@rc != 0) goto error -- Client side File and Table cannot be scripted -- Writing to a table is not supported through the SP's |
||
15 сен 17, 19:35 [20799859] Ответить | Цитировать Сообщить модератору |
Eleanor Member Откуда: Сообщений: 3206 |
дампер, Трейс на стороне сервера не умеет писать в БД. Если вам достаточно sql-запросов к данным, можете использовать select * from sys.fn_trace_gettable ( 'путь к вашему trc файлу' , default) |
15 сен 17, 19:48 [20799871] Ответить | Цитировать Сообщить модератору |
Dmitry V. Liseev Member [заблокирован] Откуда: Санкт-Петербург Сообщений: 5489 |
|
||||
18 сен 17, 08:54 [20802388] Ответить | Цитировать Сообщить модератору |
Dmitry V. Liseev Member [заблокирован] Откуда: Санкт-Петербург Сообщений: 5489 |
|
||||
18 сен 17, 08:57 [20802393] Ответить | Цитировать Сообщить модератору |
Dmitry V. Liseev Member [заблокирован] Откуда: Санкт-Петербург Сообщений: 5489 |
Список того, что мне нужно для мониторинга рабочей базы:
Не забываем, что в интерфейсе профайлера Duration в миллисекундах, а в трассировке в микросекундах. Для записи дэдлоков делается папка на сервере. Их удобнее писать в раздельные файлы и потом анализировать. |
||
18 сен 17, 09:06 [20802411] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
Dmitry V. Liseev, Дедлоки правильнее всего EE, да и для всего остального. Профайлер строго для мониторинга короткого промежутка. |
18 сен 17, 09:09 [20802420] Ответить | Цитировать Сообщить модератору |
Dmitry V. Liseev Member [заблокирован] Откуда: Санкт-Петербург Сообщений: 5489 |
ЕЕ хорош, когда точно известно, что именно ловить. И если в самом событии EE обычно есть вся информация, то в событии Lock:Acquired информации недостаточно для понимания ситуации. |
||
18 сен 17, 11:45 [20802915] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
причина дедлока в графе дедлока... |
||||
18 сен 17, 11:48 [20802927] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
думаю, никакие дедлоки ему не нужны. сервер ему весь диск дампами завалил, вот он и решил "посмотреть все подряд" |
18 сен 17, 12:00 [20802971] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |