|
|
|
Вопрос по проектированию БД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Хочется хранить всю информацию из логов Windows. С этой целью присмотрел LogParser, который экспортирует данные из логов прямо в базу SQL. По ходу дела возникла такая проблема: у каждого события описание, как правило, приличного размера. И события повторяются периодически. Кроме того, на каждый номер события существует по несколько описаний. Очень хотелось бы вынести описания событий в отдельную таблицу (таблицы), что, на мой взгляд, существенно сократило бы размер БД и повысило производительность. В связи с этим вопрос. Каким образом это можно сделать? Пока вижу несколько вариантов, не совсем разумных. 1 - поместить в БД все описания для всех событий из базы Microsoft 2 - проверять на лету при записи в БД, есть ли такое описание для такого-то номера события в таблице, и если нет, то записывать туда, в противном случае - не записывать. Могу предположить, что такие методы вызовут улыбку. Однако, у кого-то могут созреть дельные мысли - в таком случае прошу вносить свои предложения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2006, 22:50 |
|
||
|
Вопрос по проектированию БД
|
|||
|---|---|---|---|
|
#18+
Неужели это такая экзотическая задача, что никто не может ответить? А ведь это как-то можно сделать. Я так понимаю, что описание событий Windows EventViewer берет из dll файла. Значит, можно каким-то образом слить эту информацию в таблицу и пользоваться ей? Выскажите, пожалуйста, свое мнение. А то, может, я взялся за тот тип работы, которым увлекался Сизиф? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 12:52 |
|
||
|
Вопрос по проектированию БД
|
|||
|---|---|---|---|
|
#18+
К сожалению такую задачу не решал, хотя сама по себе постановка интересная. Могу оценить только то, что если на лету проверять повторы - то, с учетеом того, какие НЕ маленькие сами описания событий, и то, что их у винды самих не мало, система тормозить будет изрядно... Вариант вылить их все - не могу сказать ничего - не сталкивался... Стоит обратить внимание на то, что описания будучи идентичными, могут генерироваться с параметром в середине(как вариант). Т.е. в "общий" ,для всех событий такого рода, текст полезут еще параметры, которые будут вносить уникальность самому описанию, что приведет к тому, что либо надо крепко разбираться в самом механизме генерирования описаний винды, либо мириться с тем, что их не перекидать таким образом... Есть вариант просто архивировать инфу... Т.е. на мой взгляд наиболее удобная схема такова: событие: датавремя typeid messageid type: id parentid name description message: id text и таблицу сообщений сделать индексированной... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 13:19 |
|
||
|
Вопрос по проектированию БД
|
|||
|---|---|---|---|
|
#18+
Ivan A KostkoСтоит обратить внимание на то, что описания будучи идентичными, могут генерироваться с параметром в середине(как вариант). Т.е. в "общий" ,для всех событий такого рода, текст полезут еще параметры, которые будут вносить уникальность самому описанию, что приведет к тому, что либо надо крепко разбираться в самом механизме генерирования описаний винды, либо мириться с тем, что их не перекидать таким образом... Точно. Описания событий формируются динамически из набора строк, зашитых в файле eventlog.dll, и параметров, записанных в файле журнала *.evt. То есть полные описания событий не хранятся в какой-то базе, а генерируются исключительно для пользователя. Думаю, что и Вам стоит пойти этим путем - не хранить описания в базе, а генерировать их при доступе к определенной записи. Для этого надо реализовать набор API-вызовов через какой-нибудь язык программирования. Если дружите с Perl`ом, то существует модуль Win32::EventLog . Насчет VB не уверен, но поищите на своем компе файл eventquery.vbs, судя по описанию он делает то что надо. Или в поиск - Event-Logging API. Успехов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2006, 02:42 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34106172&tid=1544912]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 470ms |

| 0 / 0 |
