Есть ли какой-нибудь SQL-запрос, который мог бы помочь мне получить размер каждой схемы, присутствующей в нашей службе хранилища данных Azure, а также узнать, когда к ней последний раз обращались?
Я проверил и нашел один запрос ниже, который может помочь мне определить размер каждой таблицы в схеме, но, учитывая, что у меня более 15 тысяч таблиц, это неосуществимо.
-- Check space used by a specific table
DBCC PDW_SHOWSPACEUSED('Demo.Analysis');
Это представление настроено для использования sys.pdw_permanent_table_mappings
в соответствии с рекомендациями Synapse.
Запросы динамических представлений управления позволяют получить отчет обо всех размерах таблиц.
Например, я создал следующее:
SCHEMA Sales
SCHEMA HR
SELECT two_part_name, SUM( row_count ) AS row_count, SUM( reserved_space_GB ) AS reserved_space_GB
FROM dbo.vTableSizes
GROUP BY two_part_name
ORDER BY reserved_space_GB DESC;
Результаты:
two_part_name row_count reserved_space_GB
[HR].[Departments] 2 0.004464
[HR].[Employees] 2 0.004464
[Sales].[Customers] 2 0.004464
[Sales].[Orders] 2 0.004464