У меня есть база данных 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.