在SQL Azure中,每个数据库都有一个大小限制(
adjustable).为了使我的服务不会突然停止,我希望能够以编程方式找到当前最大大小和当前实际使用的空间(并在达到某个阈值时生成并发出警报).
看起来像sp_mstablespace
can be used to solve this problem,但此存储过程在SQL Azure中不可用.
如何在SQL Azure数据库中找到当前允许的最大大小和当前实际使用的空间?
解决方法
您可以通过动态管理视图计算已用空间(参考页面
here):
SELECT SUM(reserved_page_count)*8.0/1024 FROM sys.dm_db_partition_stats;
虽然我认为您无法检索最大尺寸,但将数据库设置为最大尺寸并没有什么坏处,因为您只需为您使用的空间付费.话虽如此:如果你只有5GB以下的范围,那么最好选择网络版.如果你已经是10 GB,那么将max size设置为150GB然后监控消耗的大小应该没有任何危害.