База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как узнать вес таблиц в MS SQL Server? › RE: Как узнать вес таблиц в MS SQL Server?
3 февраля 2025 в 7:30
#31409

Участник
Чтобы узнать, сколько весят таблицы в MS SQL Server, можно использовать следующий SQL-запрос. Этот запрос возвращает имя таблицы, количество строк, размер, занимаемый таблицей, и размер индексов:
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | sql USE [ИмяВашейБазыДанных]; -- Укажите имя вашей базы данных DECLARE @tbl TABLE ( name NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18), data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18) ); DECLARE @name SYSNAME; DECLARE CUR CURSOR FOR SELECT name FROM sys.tables; OPEN CUR; FETCH NEXT FROM CUR INTO @name; WHILE @@FETCH_STATUS = 0 BEGIN INSERT @tbl EXEC sp_spaceused @name; FETCH NEXT FROM CUR INTO @name; END; CLOSE CUR; DEALLOCATE CUR; SELECT name, [rows], reserved, data, index_size, unused, CONVERT(BIGINT, REPLACE(reserved, ' KB', '')) AS reserved_kb FROM @tbl ORDER BY reserved_kb DESC; |
Этот запрос создает временную таблицу, в которую помещает результаты выполнения хранимой процедуры sp_spaceused
для каждой таблицы в базе данных. В результате вы получите список таблиц с их размерами в килобайтах.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/293569/