获取SQL Server中每个通道的Mirth使用的空间

问题描述 投票:-1回答:1

如何确定使用SQL Server作为后备数据库的Mirth Server每个通道用于消息和元数据存储的磁盘空间是多少?

sql-server mirth
1个回答
0
投票
您可以使用以下查询来识别违规渠道和元数据表:

SELECT COALESCE(c.NAME, s.Name + '.' + t.Name) as Name, MAX(p.rows) AS RowCounts, CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB, CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB, 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 LEFT OUTER JOIN D_CHANNELS dc on TRY_CAST(SUBSTRING(t.name, PATINDEX('%[0-9]%', t.name), 10) as bigint) = dc.LOCAL_CHANNEL_ID LEFT OUTER JOIN CHANNEL c on c.ID = dc.CHANNEL_ID WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 255 GROUP BY COALESCE(c.NAME, s.Name + '.' + t.Name) ORDER BY TotalSpaceMB DESC

© www.soinside.com 2019 - 2024. All rights reserved.