sys.sysmessages

Noyman
Дата: 18.02.2010 16:51:29
Всем доброго времени суток.
Вопрос в следующем: как в SQL 2000 определить какие события логируютса, т.е. которым присвоет WITH_LOG=TRUE?
В системной таблице sys.sysmessages есть столбец dlevel, я думаю может по нему, но в доке про этот столбец написано, что он для внутренних нужд. Да и значения в нем неоднозначные...
В SQL 2005 все гораздо проще - в sys.messages столбец is_event_logged, а вот в 2000 как-то все запутанно.
Может кто уже с этим сталкивался?
Glory
Дата: 18.02.2010 17:56:39
В dlevel бит маскирующийся на 128 по-моему
Noyman
Дата: 18.02.2010 18:18:45
Glory,

Спасибо, я так и думал.
Noyman
Дата: 23.02.2010 11:51:59
У меня возник еще вопрос.

Например я настроил логирование сообщений
15298 - New login created.
18455 - Login succeeded for user '%ls'.

Второе в лог записываетса нормально, т.е. просто текст сообщения, а к первому добавляетса еще строка "Error: 15298, Severity: 0, State: 1". Можно ли как-нибудь убрать эту строку, чтобы в лог это не писалось, а писалось только текст события или это сервер сам распознает (по коду сообщения) и , например, если код больше 18000 то эту строку не добавлять?
Noyman
Дата: 17.03.2010 17:07:09
Еще один вопрос по этой теме.
В 2000 было сообщение 15298 New login created.
В 2005 в sys.messages этого сообщения нет.
Как отследить (кроме профайлера) и залогировать это действие?
И вообще я заметил, что в 2005 в sys.messages, нет сообщений, которые не "ошибочные", т.е. возникают не в результате ошибок.