Я хочу создать инструмент мониторинга для отслеживания изменений в использовании журнала транзакций на рабочем сервере, который мы поддерживаем.
Раньше я использовал DBCC SQLPERF(LOGSPACE);
, который предоставлял список всех баз данных и их текущее состояние памяти журнала транзакций. Тем не менее, Microsoft, кажется, предлагает с 2012 года, детали журнала следует просматривать из sys.dm_db_log_space_usage
, который предоставляет аналогичные детали, но, похоже, зависит от базы данных, а не дает представление о сервере в целом (т. е. вы должны быть подключены к базе данных, которую вы хотите использовать).
Я думаю, мой вопрос состоит из двух частей:
- Есть ли способ использовать
sys.dm_db_log_space_usage
для всех баз данных? - Есть ли причина, по которой
DBCC SQLPERF(LOGSPACE);
не следует использовать?