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 - не целесообразно.
Может кто подскажет, как определять перформанц каунтеры изнутри хранимой процедуры, а то голова ужен не варит к концу дня :)
Заранее спасибо.
MkSim
Дата: 09.10.2003 19:47:22
спасибо, dbcc sqlperf действительно помог. Теперь проблема в том, что на вновь установленном Win2000 сервере не видны каунтеры MS SQL2000, я когда то уже проходил эту проблему, но подзабыл, какие файлы надо в какие директории кидать.