Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
EvAlex Member Откуда: Israel Сообщений: 1001 |
В принципе собственно сабж. У меня есть база и несколько аппликаций, которые к неё обращаются (с разными логинами). Как узнать кто пользуется процедурами, а кто напрямую лезет в таблицы? Profiler не предлагать, потому что - есть аппликации, которые обращаются очень редко. Может как-то по умному отфильтровать dm_exec_cached_plans чтобы по типу cahedobjecttype и базе можно было понять? Но как тогда привязать к логину? MS SQL 2005 SP4 |
10 окт 13, 11:31 [14949288] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
Без перехватывания всех запросов к базе я думаю тут не обойтись. Так что профайлер. |
||
11 окт 13, 05:18 [14954304] Ответить | Цитировать Сообщить модератору |
Ennor Tiegael Member Откуда: Сообщений: 3348 |
EvAlex, ...и все ходят под sa с пустым паролем, конечно же? Если нет, отними все прямые гранты на таблицы и жди, пока кто-нибудь не начнет орать. По-другому - никак, ну если не считать утопического варианта декомпилировать все бинарники и докопаться до зашитых запросов. |
11 окт 13, 07:19 [14954370] Ответить | Цитировать Сообщить модератору |
EvAlex Member Откуда: Israel Сообщений: 1001 |
![]() Вот думал что-то тривиальное и мне только в голову не приходит... |
||
12 окт 13, 23:26 [14961973] Ответить | Цитировать Сообщить модератору |
Crimean Member Откуда: Сообщений: 13147 |
а ради чего все, кстати? |
13 окт 13, 14:06 [14962782] Ответить | Цитировать Сообщить модератору |
locky Member Откуда: Харьков, Украина Сообщений: 62034 |
Проанализировать сорцы аппликух |
||
13 окт 13, 21:02 [14963508] Ответить | Цитировать Сообщить модератору |
SFlash Member Откуда: Сообщений: 143 |
locky, А зачем профилер? Запускаешь трассу на сервере с сохранением в файл, потом уже анализируешь спокойно. Трасса на стороне сервера почти не оказывает влияния на скорость. |
14 окт 13, 14:47 [14967263] Ответить | Цитировать Сообщить модератору |
locky Member Откуда: Харьков, Украина Сообщений: 62034 |
вопросы на засыпку: 1. Какого объема трасса будет сгенерированна при слежке за хорошо нагруженным приложением 2. Сколько времени и ресурсов займет анализ полученной трассы. зы и причем тут я? я профилер не предлагал - я и без него чудесно умею всё делать :) в том числе - решать задачи, поставленные автором |
||
14 окт 13, 14:49 [14967286] Ответить | Цитировать Сообщить модератору |
Winnipuh Member [заблокирован] Откуда: Київ Сообщений: 10428 |
+ если они есть |
||||
14 окт 13, 15:37 [14967708] Ответить | Цитировать Сообщить модератору |
Crimean Member Откуда: Сообщений: 13147 |
1.не космического, если не писать лишнего + в пакованный фолдер сразу. нам-то надо собственно appName (+ userName?). возможно, даже текст запроса нафик не нужен будет. хотя - да - exec может быть сделан как rpc, а может и как batch. второе смешно, но имеет место быть аж бегом. тогда и текст надо будет писать, но как трактовать такое поведение - тот еще вопрос 2.загрузить в базу и сделать group by - ничего страшного p.s. на самом деле, задачи я так и не понял.. не в смысле что делать надо а зачем это делать надо p.p.s. возможно, помогут database audit и/или те же xevents - там на первый взгляд есть и батчи и rpc |
||
14 окт 13, 15:47 [14967769] Ответить | Цитировать Сообщить модератору |
locky Member Откуда: Харьков, Украина Сообщений: 62034 |
ну, зависит от Формально практически каждое приложение спавнит batch complete, но нам нужны далеко не все из них какие именно - можно выяснить только анализом исходного текста, а значит его нужно писать В интересном случае, когда таки юзают процедуры, но вызывают из батча - текст нужно анализировать prepared statements, sp_executesql, sp_prepexec/sp_execute и т.д. - это таки да, rpc complete, его тоже нужно ловить и смотреть на текст по итогу, мы ловим все базовые эвенты batch/rpc complete, что на нагруженной системе таки даёт приличное количество данных и потом их просто так груп баем не сведёшь, нужно брать что-то вроде RML/ClearTrace |
||
14 окт 13, 15:55 [14967836] Ответить | Цитировать Сообщить модератору |
Crimean Member Откуда: Сообщений: 13147 |
locky, да делал это я, не так оно и страшно. грузишь в базу трас, дальше все, что batch - начинаешь через LIKE фактически "разносить". типа словарный анализ, что ли.. да, первые полчаса муторно, но дальше - проще. с учетом того, что задача "разовая" день на нее потратить можно, результат будет более чем достоверный а если не разовая для той же системы - сохраняешь словарик и привет, дальше тупо контролируешь % разобранности для batch и если низковат - актуализируешь словарики как-то так.. p.s. да, трасы такие гигами меряются, ну и что? |
14 окт 13, 16:00 [14967869] Ответить | Цитировать Сообщить модератору |
EvAlex Member Откуда: Israel Сообщений: 1001 |
хотят поменять структуру базы. Те кто использовал процедуры - им их подправят. А вот для тех кто лезет напрямую, сделают views, чтобы ничего не падало. Но на 100% не получится подстоиться - хотят узнать, кто упадёт, обратиться заранее чтобы подготовились. |
||
16 окт 13, 12:27 [14979188] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
А скажите название банка, чтобя я случайно туда свои деньги не отнес :) |
||||
16 окт 13, 21:56 [14982775] Ответить | Цитировать Сообщить модератору |
locky Member Откуда: Харьков, Украина Сообщений: 62034 |
Тестирование - само собой Однако перед тестированием приложение необходимо доработать, а не надеяться на то, что тестеры проверят весь воркфлоу |
||||
16 окт 13, 21:58 [14982778] Ответить | Цитировать Сообщить модератору |
Crimean Member Откуда: Сообщений: 13147 |
по-моему тут надо включать аудит и ловить все вставки. ибо остальное будет работать. причем все равно - вставка из хранимки или из батча. если не ошибаюсь, когда такое делали представление оборачивали инстедными триггерами и в результате для вставок надо было дописывать полей. а остальное все прозрачно и так |
16 окт 13, 22:27 [14982848] Ответить | Цитировать Сообщить модератору |
EvAlex Member Откуда: Israel Сообщений: 1001 |
тестирование само собой. Верить в непогрешимость QA-щиков , что они пропустят ничего, немного наивно. |
||||
22 окт 13, 10:56 [15012676] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |