===== Как узнать самые большие таблицы в базе данных SQL Server ===== Запрос ниже выводит список десяти крупнейших таблиц в базе данных: SELECT top 10 schema_name(tab.schema_id) + '.' + tab.name as [table], cast(sum(spc.used_pages * 8)/1024.00 as numeric(36, 2)) as used_mb, cast(sum(spc.total_pages * 8)/1024.00 as numeric(36, 2)) as allocated_mb FROM sys.tables tab JOIN sys.indexes ind on tab.object_id = ind.object_id JOIN sys.partitions part on ind.object_id = part.object_id and ind.index_id = part.index_id JOIN sys.allocation_units spc on part.partition_id = spc.container_id GROUP BY schema_name(tab.schema_id) + '.' + tab.name ORDER BY sum(spc.used_pages) desc; Выводимые столбцы: * **table** - имя таблицы с именем схемы * **used_mb** - размер пространства, фактически используемого таблицей в МБ * **allocated_mb** - размер выделенного или зарезервированного этой таблицей пространства в МБ Выводимые строки: Каждая строка представляет отдельную таблицу. Всего выводится десять таблиц, которые используют больше всего пространства. Упорядочено по фактически используемому пространству. Пример результатов: {{:microsoft-sql-server:t-sql-script-samples:pasted:20241211-091015.png }} \\ ---- Проверено на следующих конфигурациях: ^ Версия SQL Server ^ | SQL Server 2019 Standard Edition | ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 11.12.2024 09:09 {{tag>"SQL Server" "SQL Server 2019" "T-SQL" Database Tables}} ~~DISCUSSION~~