Что делать если у вас много баз данных, а нужно узнать активность только одной из них

Что делать если у вас много баз данных, а нужно узнать активность только одной из них

Использование одного экземпляра SQL Server под множество проектов не редкость, но разобраться какой из проектов наиболее активен, бывает сложно. Сегодня я хотел бы поделиться с вами несколькими способами анализа активности каждой БД в отдельности. Мы рассмотрим следующие моменты в разрезе БД:

  1. Количество подключений к вашим БД
  2. Занимаемое дисковое пространство
  3. Объём оперативной памяти
  4. Соберём активность файлов БД за определённый промежуток времени

Количество подключений к вашим БД

Можно воспользоваться master.dbo.sysprocesses

Обратите внимание, что количество подключений никак не отражает активность и нагрузку базы данных. Подключения могут не выполнять никакой работы, а могут быть очень активными

Занимаемое дисковое пространство

Запрос возвращает по 2 строки на каждую БД. Одна строка отражает размер данных, а другая журнала транзакций.

Можно так же воспользоваться ещё одним способом, который вернёт по 1 строке на БД (сумма файлов данных и логов)

Объём оперативной памяти

Столбец Buffer Pool Percent отражает процентное использование памяти от общего объёма.

Активность файлов БД

По-умолчанию скрипт будет собирать информацию 1 минуту, если вам нужен отчёт за более продолжительное время, то измените WAITFOR DELAY ’00:01:00′. Отчёт возвращает информацию по каждому файлу БД.

Заключение

Даже если у вас множество проектов на одном экземпляре SQL Server, вы по прежнему можете получить достаточно информации о каждом из них. Конечно, если проект важный и требует особого подхода к доступу, то настоятельно рекомендую выносить его в отдельный экземпляр, так как далеко не всё мы можем посмотреть и реализовать в рамках одного экземпляра и множества проектов.

Запись опубликована в рубрике В помощь администратору. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: