在 mssql2005 中,当我想获取以 MB 为单位的表大小时,我使用 EXEC sp_spaceused 'table'。
有没有办法使用某些查询或 API 来获取 SQL Azure 中特定表使用的空间?
最佳答案
来自瑞恩·邓恩 http://dunnry.com/blog/CalculatingTheSizeOfYourSQLAzureDatabase.aspx
select
sum(reserved_page_count) * 8.0 / 1024 [SizeInMB]
from
sys.dm_db_partition_stats
GO
select
sys.objects.name, sum(reserved_page_count) * 8.0 / 1024 [SizeInMB]
from
sys.dm_db_partition_stats, sys.objects
where
sys.dm_db_partition_stats.object_id = sys.objects.object_id
group by sys.objects.name
order by sum(reserved_page_count) DESC
第一个将为您提供数据库的大小(以 MB 为单位),第二个将执行相同的操作,但按最大到最小的顺序对数据库中的每个对象进行分解。
关于azure - SQL Azure 表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1957064/