Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
bayazet Member Откуда: Сообщений: 42 |
копался в интернете, не нашел. Подскажите пожалуйста, есть ли возможность запускать стандартный профайлер от ms из своей программы, предварительно настраивая шаблон, фильтрации и прочие параметры? |
17 июл 14, 10:46 [16316808] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
sp_tracecreate |
17 июл 14, 10:58 [16316897] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31779 |
Но лучше конечно использовать предназначенные для этого хранимые процедуры, как написал Maxx |
||
17 июл 14, 11:35 [16317300] Ответить | Цитировать Сообщить модератору |
Slava_Nik Member Откуда: из России Сообщений: 891 |
можно еще запустить профайлер, настроить его как надо, указать что куда сохранять, а затем все заскриптовать. Потом полученный код использовать. |
17 июл 14, 11:53 [16317451] Ответить | Цитировать Сообщить модератору |
bayazet Member Откуда: Сообщений: 42 |
насколько я разобрался, sp_trace_create позволяет создать файл трассировки, который будет заполняться, а потом его уже можно будет проанализировать а у меня немного иная задача: допустим, по клику запустить профайлер (предварительно указав за какой базой следить от какого аппликейшна) и в режиме реального времени смотреть за трассировкой |
17 июл 14, 12:52 [16317985] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
Настройте шаблон и вперед. Вот только мне не понятно зачем стороними средствами запускать профайлер....чтоб интресней было ? |
17 июл 14, 13:00 [16318038] Ответить | Цитировать Сообщить модератору |
bayazet Member Откуда: Сообщений: 42 |
Maxx, ну например есть некорый интерфейс, который позволяет отображать транзакции, принимаемые и передаваемые серверами\базами. и оп, в какой-то момент, на каком-то участке начинают эти транзакции скапливаться. именно в этом случае удобно иметь возможность по клику запустить профайлер и посмотреть, что не так |
17 июл 14, 13:03 [16318053] Ответить | Цитировать Сообщить модератору |
bayazet Member Откуда: Сообщений: 42 |
Maxx, а как мне в этом случае реализовать передачу из приложения необходимых значений для фильтров (типа, имя базы данных или приложения), не подскажете? |
17 июл 14, 13:04 [16318060] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
подскажу конечно - начать таки читать хелп по продукту , а на ввпрос как ето сделать - вам ссылку дал alexeyvg |
||
17 июл 14, 13:11 [16318102] Ответить | Цитировать Сообщить модератору |
west74 Member Откуда: Челябинск Сообщений: 76 |
вот даже кино сняли на тему :), можно не читать доку http://www.techdays.ru/videos/1256.html |
17 июл 14, 13:18 [16318157] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
Ню-Ню вперед че уж там |
||
17 июл 14, 13:20 [16318171] Ответить | Цитировать Сообщить модератору |
bayazet Member Откуда: Сообщений: 42 |
к чему я пришел прям напрямую изменять фильтры в трассировке нельзя. но специфика задачи позволяется подготовить некоторый набор шаблонов (который хранится рядом с исполняемым файлом приложения) и копировать необходимый файл шаблона трассировки в соотв.директорию с предустановленными шаблонами профайлера после этого запускать профайлер из cmd "profiler /T "my_tdf"" но тут возник вопрос, скорее всего не по теме топика, но все же: бывают ситуации, когда на компьютере установлены несколько профайлеров (2000, 2008, 2012 etc) как определить, из какого места на диске запускается cmd "profiler"? |
30 июл 14, 11:46 [16375862] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
так поди оттуда, что прописано в виндовской Enviroment Variables -> PATH |
||
30 июл 14, 11:57 [16376008] Ответить | Цитировать Сообщить модератору |
bayazet Member Откуда: Сообщений: 42 |
o-o, спасибо за наводку! выложу код, вдруг пригодится кому-нибудь procedure GetProfilerVers : string; var paths, str : string; flag : boolean; begin flag := false; paths := GetEnvironmentVariable(PChar('Path')); // перебираем все пути из Enviroment Paths, ищем, в каком есть profiler.exe while (Pos(';', paths) <> 0) and (not flag) do begin if Pos(';', paths) = 0 then str := paths else str := Copy(paths, 1, Pos(';', paths)-1); Delete(paths, 1, Pos(';', paths)); if Pos(';', paths) = 0 then str := paths else str := Copy(paths, 1, Pos(';', paths)-1); if str[length(str)] = '\' then delete(str, length(str), 1); flag := FileExists(str + '\Profiler.exe'); end; if not flag then begin str := paths; flag := FileExists(str + '\Profiler.exe'); end; if flag then //парсим путь, который нашли begin Delete(str, 1, Pos('Microsoft SQL Server', str)+Length('Microsoft SQL Server')); Delete(str, Pos('\', str), Length(str)-Pos('\', str)+1); result := str; end else result := ''; end; |
30 июл 14, 13:26 [16376647] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |