Как узнать процент занятости transaction log файла (+)

MkSim
Дата: 09.10.2003 19:38:55
Имеем MS SQL 2000 на кластере Win2000, последние sp. Необходимо раз в 5 минут определять процент наполнения transaction log базы и если он существенный (больше 25 процентов, например) бэкапировать его в файл, сжать rar-ом и отправлять на другой сервер. Процедура уже, собственно, написана и отрабатывает тупо каждые полчаса, но иногда лог растет немеренно за эти самые пол часа и тормозит базу.
Обидно, что "какие то там" перфоманц каунтеры умеют определять процент, а специальной процедуры или таблиц в документации не указано.
Есть правда таблица sysaltfiles с колонкой size (размер файла в страницах по 8 Кб), но дело в том, что лог у нашей базы настроен быть ВСЕГДА не менее 100 Мб, т.е. в указанной таблице всегда будет стоять не менее 100Мб, хотя реально будет использоваться и 5, и 10 или 50 метров.
Опускать нижную границу "automatic grow" log файла ниже 100Мб ради решения этой задачи через sysaltfiles - не целесообразно.

Может кто подскажет, как определять перформанц каунтеры изнутри хранимой процедуры, а то голова ужен не варит к концу дня :)
Заранее спасибо.
Glory
Дата: 09.10.2003 19:40:48
DBCC SQLPERF
Glory
Дата: 09.10.2003 19:42:24
Правильнее так

DBCC SQLPERF(LOGSPACE)
Roust_m
Дата: 09.10.2003 19:42:34
В Performance включить счетчитк: SQLServerDatabases-> Percent Log Used
MkSim
Дата: 09.10.2003 19:47:22
спасибо, dbcc sqlperf действительно помог. Теперь проблема в том, что на вновь установленном Win2000 сервере не видны каунтеры MS SQL2000, я когда то уже проходил эту проблему, но подзабыл, какие файлы надо в какие директории кидать.
Roust_m
Дата: 09.10.2003 20:07:01
автор писал:
на вновь установленном Win2000 сервере не видны каунтеры MS SQL2000, я когда то уже проходил эту проблему, но подзабыл, какие файлы надо в какие директории кидать.


-Либо они не установлены вместе с сиквелом, либо слететли. Чтобы восстановить, надо перезагрузить/рестартовать сервер с закрытым Performance
/* Т.е. чтобы никто в это время из Performance сиквельные счетчики не мониторил */