Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Розмір внутрішніх таблиць SQL бази (Обробка)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Пользователю 1С 8.3, 8.2, 8.1, 8.0 > Платформа 8
Toster
Всім дай Боже. Може у когось є обробка яка покаже розміри таблиць регістрів Накопичення / Відомостей для УТ 3.1 . База SQL . Шарився по сховищу - знайшов обробки які показують к-ть записів, але мене цікавить саме розмір. Наперед дякую!
zay
Toster @ 12.10.23, 17:01 необходимо зарегистрироваться для просмотра ссылки ,
Доброго дня
необходимо зарегистрироваться для просмотра ссылки

За допомогою обробки отримайте ім'я регісту у базі SQL

Запрос розрахунку розміру таблиць з фільтром по регістрам накопичення (t.name LIKE '_AccumRg%)

SELECT 
    t.name AS TableName,
    s.name AS SchemaName,
    p.rows,
    SUM(a.total_pages) * 8 AS TotalSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
    SUM(a.used_pages) * 8 AS UsedSpaceKB,
    CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB
FROM
    sys.tables t
INNER JOIN      
    sys.indexes i ON t.object_id = i.object_id
INNER JOIN
    sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id
INNER JOIN
    sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
    sys.schemas s ON t.schema_id = s.schema_id
WHERE
    t.name LIKE '_AccumRg%'
GROUP BY
    t.name, s.name, p.rows
ORDER BY
    TotalSpaceMB DESC, t.name


Виконайте запит у sql server management studio

Перед першим виконанням запиту бажано оновити статистику
use TestDB;
go

EXEC sp_updatestats;
go

Toster
zay @ 16.10.23, 11:27 необходимо зарегистрироваться для просмотра ссылки ,
Дякую. Пошаманю)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.