【问题标题】:How do I find the maximum database space and the used database space in SQL Azure?如何在 SQL Azure 中找到最大数据库空间和已用数据库空间?
【发布时间】:2012-07-04 17:59:03
【问题描述】:

在 SQL Azure 中,每个数据库都有大小限制 (adjustable)。为了让我的服务不会突然停止,我希望能够以编程方式找到当前的最大大小和当前实际使用的空间(并在达到某个阈值时生成并发出警报)。

看起来像sp_mstablespace can be used to solve this problem,但此存储过程在 SQL Azure 中不可用。

如何在 SQL Azure 数据库中找到当前允许的最大大小和当前实际使用的空间?

【问题讨论】:

    标签: sql-server database azure azure-sql-database


    【解决方案1】:

    您可以通过动态管理视图计算已用空间(参考页here):

    SELECT SUM(reserved_page_count)*8.0/1024
    FROM sys.dm_db_partition_stats; 
    

    虽然我认为您无法检索最大大小,但简单地将数据库设置为最大大小并没有什么坏处,因为您只需为使用的空间付费。话虽如此:如果您仅在 5GB 以下范围内,最好使用网络版。如果您已经超过 10 GB,将最大大小设置为 150 GB 并监控消耗的大小应该没有任何危害。

    【讨论】:

      【解决方案2】:

      David 已经指出了如何找到你的数据库的当前大小,如果你想知道你的数据库的最大大小,以 MB 为单位,你需要在你感兴趣的数据库中运行以下查询:

      SELECT CONVERT(BIGINT, DATABASEPROPERTYEX('DatabaseOfInterestName', 'MaxSizeInBytes')) / 1024
      

      Reference

      【讨论】:

      • 当前连接:select DATABASEPROPERTYEX(db_name(), 'MaxSizeInBytes')
      猜你喜欢
      • 2020-05-19
      • 1970-01-01
      • 2010-10-26
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      相关资源
      最近更新 更多