Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как прочитать лог-файл базы данных MS SQL  [new]
ll_pp
Member

Откуда:
Сообщений: 12
Пожалуйста, подскажите, с помощью какого приложения можно прочитать лог-файл базы данных MS SQL и где это приложение можно взять.
22 авг 05, 16:28    [1807590]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Брюлик
Member

Откуда:
Сообщений: 690
http://www.lumigent.com/
22 авг 05, 16:31    [1807606]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
dbcc log(1)
Lumigent Log Explorer
А вам, простите, зачем?
22 авг 05, 16:31    [1807608]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
RuslanLisovenko
Member

Откуда: KIEV
Сообщений: 197
ll_pp
Пожалуйста, подскажите, с помощью какого приложения можно прочитать лог-файл базы данных MS SQL и где это приложение можно взять.


... прочитать?
22 авг 05, 16:48    [1807686]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
ll_pp
Member

Откуда:
Сообщений: 12
Отвечаю на вопрос "Зачем". По каким-то непонятным причинам во время работы с базой данный жутко подвисает сервер. Подвисает настолько, что не реагирует ни на какое нажатие клавиш, т.е. запустить что-то во время этого "подвисания" и проверить что-то же там делается - невозможно. Сам факт такого вот "подвисания" встречается не так уж и часто, т.е. нет смысла, например, запускать SQL Profiler з записью лога в какую-то таблицу, чтобы потом ее анализировать, поскольку вот так вот писать он может неделями (до появленяи фаекта "подвисания"), а это лишние затраты ресурсов. По-этому хотелось бы после очередного факта "подвисания" заглянуть в лог и посмотреть, что же там делалось. Возможно это не лучший способ решения моей проблемы. Если знаете лучший - я с радостью его испробую.
22 авг 05, 16:49    [1807689]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
RuslanLisovenko
Member

Откуда: KIEV
Сообщений: 197
RuslanLisovenko
ll_pp
Пожалуйста, подскажите, с помощью какого приложения можно прочитать лог-файл базы данных MS SQL и где это приложение можно взять.


... прочитать?


Какую информацию нужно плучить?
22 авг 05, 16:50    [1807690]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
ll_pp
Возможно это не лучший способ решения моей проблемы. Если знаете лучший - я с радостью его испробую.

Ну да, далеко не лучший.
Надо искать узкое место, для этого счетчики производительности есть.
Блокировки смотреть, запросы корявые и т.д.
Вы в логе (журнал транзакций имеется в виду?) чего увидеть хотите?
22 авг 05, 16:53    [1807700]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
ll_pp
Member

Откуда:
Сообщений: 12
Ray D
ll_pp
Возможно это не лучший способ решения моей проблемы. Если знаете лучший - я с радостью его испробую.

Ну да, далеко не лучший.
Надо искать узкое место, для этого счетчики производительности есть.
Блокировки смотреть, запросы корявые и т.д.
Вы в логе (журнал транзакций имеется в виду?) чего увидеть хотите?


К сожалению, ни разу не представлялось его видеть, по-этому не знаю смогу ли я там увидеть что-то, что могло бы мне помочь ... Просто было предположение, что что-то могло бы проясниться.
22 авг 05, 17:15    [1807812]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Glory
Member

Откуда:
Сообщений: 104751
ll_pp

К сожалению, ни разу не представлялось его видеть, по-этому не знаю смогу ли я там увидеть что-то, что могло бы мне помочь ... Просто было предположение, что что-то могло бы проясниться.


Transaction log базы - это лог куда пишутся факты _изменения_ данных
Это не есть полный лог всех действий, происходивших в базе(на сервере)
22 авг 05, 17:18    [1807830]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
А.Панков
Member

Откуда: Toronto
Сообщений: 523
А зависает, по вашему описанию, сам сервак, а не SQL Server? Первым делом после рестарта сервера я бы посмотрел логи: предыдущий лог сиквела, лог агента, и логи windows используя event viewer (system log, application log). Скорее всего там какая-то информация найдется.
23 авг 05, 18:40    [1811493]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
А.Панков
Member

Откуда: Toronto
Сообщений: 523
Я имею в виду Errorlog сиквела, а не transaction log, естественно :)
23 авг 05, 18:41    [1811500]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
А.Панков
Я имею в виду Errorlog сиквела, а не transaction log, естественно :)


а что программа notepad.exe не помогает ?
23 авг 05, 18:45    [1811515]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
ll_pp
Member

Откуда:
Сообщений: 12
Да, зависает сам сервак, но происходит это только при работе с базой данных. Логи смотрели - никаких сообщений об ошибках нет.
Вообщето на сегодняшний день проблема уже решена - выяснить в чем дело удалось с помощью анализа блокировок и определенных объектов базы. Если кому-то интересно как происходил анализ - с помощью нижеследующего скрипта

select top 100 percent
convert(smallint, req_spid) as [spid],
cast(sp.hostname as varchar(8))as [host],
sdb.name as [database],
so.name as [object],
rsc_indid as [index],
substring(v.name, 1, 4) as [type],
substring(rsc_text, 1, 16) as [resource],
substring(u.name, 1, 8) as [mode],
substring(x.name, 1, 5) as [status]

from master.dbo.syslockinfo as sl
inner join master.dbo.spt_values as v
on (sl.rsc_type = v.number)
inner join master.dbo.spt_values as x
on (sl.req_status = x.number)
inner join master.dbo.spt_values as u
on (sl.req_mode + 1 = u.number)
left join master.dbo.sysprocesses as sp
on (req_spid = sp.spid)
left join master.dbo.sysdatabases as sdb
on (sl.rsc_dbid = sdb.dbid)
left join sysobjects as so
on (sl.rsc_objid = so.id)
where v.type = 'LR'
and x.type = 'LS'
and u.type = 'L'
order by spid, so.name, u.name, rsc_indid, rsc_text

Так же в процессе выяснений удалось раздобыть информацию, как можно заглянуть в лог базы (за исключением dbcc log). Если кому-то интересно, то вот
select * from ::fn_dblog(default, default)
23 авг 05, 20:04    [1811674]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
ll_pp
Да, зависает сам сервак, но происходит это только при работе с базой данных. Логи смотрели - никаких сообщений об ошибках нет.
Вообщето на сегодняшний день проблема уже решена - выяснить в чем дело удалось с помощью анализа блокировок и определенных объектов базы. Если кому-то интересно как происходил анализ - с помощью нижеследующего скрипта

select top 100 percent
convert(smallint, req_spid) as [spid],
cast(sp.hostname as varchar(8))as [host],
sdb.name as [database],
so.name as [object],
rsc_indid as [index],
substring(v.name, 1, 4) as [type],
substring(rsc_text, 1, 16) as [resource],
substring(u.name, 1, 8) as [mode],
substring(x.name, 1, 5) as [status]

from master.dbo.syslockinfo as sl
inner join master.dbo.spt_values as v
on (sl.rsc_type = v.number)
inner join master.dbo.spt_values as x
on (sl.req_status = x.number)
inner join master.dbo.spt_values as u
on (sl.req_mode + 1 = u.number)
left join master.dbo.sysprocesses as sp
on (req_spid = sp.spid)
left join master.dbo.sysdatabases as sdb
on (sl.rsc_dbid = sdb.dbid)
left join sysobjects as so
on (sl.rsc_objid = so.id)
where v.type = 'LR'
and x.type = 'LS'
and u.type = 'L'
order by spid, so.name, u.name, rsc_indid, rsc_text

Так же в процессе выяснений удалось раздобыть информацию, как можно заглянуть в лог базы (за исключением dbcc log). Если кому-то интересно, то вот
select * from ::fn_dblog(default, default)


Прикольная штука. А можно краткое пояснение или ссылку на материал по значениям полям, окобенно type и status. Инструмент хороший, но знать бы как им пользоваться и анализировать записи...
3 окт 13, 10:56    [14916754]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat
А можно краткое пояснение или ссылку на материал по значениям полям, окобенно type и status.

BOL - syslockinfo
3 окт 13, 10:59    [14916776]     Ответить | Цитировать Сообщить модератору
 Re: Как прочитать лог-файл базы данных MS SQL  [new]
Гость333
Member

Откуда:
Сообщений: 3683
MedBrat
Прикольная штука.

Ну, не знаю. Эта прикольная штука:

а) Некрофильская. У вас же версия сервера выше, чем 2000? Тогда лучше поищите скрипт с использованием sys.dm_tran_locks;

б) Тупо неправильная. В ней идёт джойн с таблицей sysobjects, в которой хранятся только объекты текущей БД. А syslockinfo показывает блокировки во всех БД — в итоге у меня, например, при запуске из AdventureWorks показало блокировку на объекте master.uAddressType. А всё потому, что object_id объектов AdventureWorks.Person.uAddressType и master.dbo.spt_values совпал.
3 окт 13, 11:20    [14916942]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить