powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по проектированию БД
5 сообщений из 5, страница 1 из 1
Вопрос по проектированию БД
    #34092544
Filiber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Хочется хранить всю информацию из логов Windows. С этой целью присмотрел LogParser, который экспортирует данные из логов прямо в базу SQL.
По ходу дела возникла такая проблема: у каждого события описание, как правило, приличного размера. И события повторяются периодически. Кроме того, на каждый номер события существует по несколько описаний. Очень хотелось бы вынести описания событий в отдельную таблицу (таблицы), что, на мой взгляд, существенно сократило бы размер БД и повысило производительность.
В связи с этим вопрос. Каким образом это можно сделать? Пока вижу несколько вариантов, не совсем разумных.
1 - поместить в БД все описания для всех событий из базы Microsoft
2 - проверять на лету при записи в БД, есть ли такое описание для такого-то номера события в таблице, и если нет, то записывать туда, в противном случае - не записывать.
Могу предположить, что такие методы вызовут улыбку. Однако, у кого-то могут созреть дельные мысли - в таком случае прошу вносить свои предложения!
...
Рейтинг: 0 / 0
Вопрос по проектированию БД
    #34097129
Filiber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели это такая экзотическая задача, что никто не может ответить?
А ведь это как-то можно сделать. Я так понимаю, что описание событий Windows EventViewer берет из dll файла. Значит, можно каким-то образом слить эту информацию в таблицу и пользоваться ей?
Выскажите, пожалуйста, свое мнение. А то, может, я взялся за тот тип работы, которым увлекался Сизиф? :)
...
Рейтинг: 0 / 0
Вопрос по проектированию БД
    #34097263
Ivan A Kostko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению такую задачу не решал, хотя сама по себе постановка интересная.

Могу оценить только то, что если на лету проверять повторы - то, с учетеом того, какие НЕ маленькие сами описания событий, и то, что их у винды самих не мало, система тормозить будет изрядно...

Вариант вылить их все - не могу сказать ничего - не сталкивался...

Стоит обратить внимание на то, что описания будучи идентичными, могут генерироваться с параметром в середине(как вариант). Т.е. в "общий" ,для всех событий такого рода, текст полезут еще параметры, которые будут вносить уникальность самому описанию, что приведет к тому, что либо надо крепко разбираться в самом механизме генерирования описаний винды, либо мириться с тем, что их не перекидать таким образом...

Есть вариант просто архивировать инфу...
Т.е. на мой взгляд наиболее удобная схема такова:

событие:
датавремя
typeid
messageid

type:
id
parentid
name
description

message:
id
text

и таблицу сообщений сделать индексированной...
...
Рейтинг: 0 / 0
Вопрос по проектированию БД
    #34106172
Nant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan A KostkoСтоит обратить внимание на то, что описания будучи идентичными, могут генерироваться с параметром в середине(как вариант). Т.е. в "общий" ,для всех событий такого рода, текст полезут еще параметры, которые будут вносить уникальность самому описанию, что приведет к тому, что либо надо крепко разбираться в самом механизме генерирования описаний винды, либо мириться с тем, что их не перекидать таким образом...


Точно.
Описания событий формируются динамически из набора строк, зашитых в файле eventlog.dll, и параметров, записанных в файле журнала *.evt. То есть полные описания событий не хранятся в какой-то базе, а генерируются исключительно для пользователя.

Думаю, что и Вам стоит пойти этим путем - не хранить описания в базе, а генерировать их при доступе к определенной записи. Для этого надо реализовать набор API-вызовов через какой-нибудь язык программирования. Если дружите с Perl`ом, то существует модуль Win32::EventLog . Насчет VB не уверен, но поищите на своем компе файл eventquery.vbs, судя по описанию он делает то что надо. Или в поиск - Event-Logging API.

Успехов...
...
Рейтинг: 0 / 0
Вопрос по проектированию БД
    #34121449
Filiber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо! Прозвучали грамотные советы, которые очень мне пригодятся.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по проектированию БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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