Назад | Перейти на главную страницу

Как проще всего получить статистику использования диска для моей базы данных SQL Server?

У меня есть база данных SQL Server с несколькими сотнями таблиц данных в ней, и я ищу статистику использования диска, поскольку она относится к каждой отдельной таблице.

Есть ли быстрый способ найти эту информацию?

Марк Браун собрать хранимую процедуру использование системных хранимых процедур sp_spaceused и sp_tables для сбора этой информации. Кроме того, если вы не против использования частной процедуры Microsoft, эта хранимая процедура - это немного более короткий метод достижения той же цели.

Какая версия SQL Server?
Какая статистика использования? Размер? Читает? Пишет?

Для размера вы смотрите в sys.allocation_units:

select object_name(object_id) as [Object]
 , sum(au.total_pages)*8 as [Size (Kb)]
 from sys.allocation_units au
 join sys.partitions p on au.container_id = p.partition_id
 group by object_id
 having sum(au.total_pages) > 0

Для IO вы посмотрите на sys.dm_db_index_usage_stats.

Другой возможный подход - включить наборы сборщиков производительности и использовать Хранилище данных управления SQL Server 2008.