gpt4 book ai didi

azure-sql-database - 有没有办法从 Azure SQL 数据库资源中获取分配的存储数据百分比指标以创建警报?

转载 作者:行者123 更新时间:2023-12-05 06:11:54 24 4
gpt4 key购买 nike

我想创建一个警报来监视 Azure 中为 SQL 数据库分配的数据存储,以便我知道它何时将达到其分配的数据存储容量。理想情况下,像 storage_percent 这样的东西会是完美的,因为它监控百分比而不是字节。但我想跟踪分配的数据存储。

以下是可以通过警报监控的指标列表:https://learn.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftsqlserversdatabases

没有任何指标可以跟踪百分比,只有字节。 (allocated_data_storageBytes 单位)

我目前的解决方法是以字节为单位检索分配的数据存储,然后将该值乘以我希望收到警报的阈值。

e.g.
threshold to trigger alert is 75%
allocated_data_storage is 4 GB
alert me when database storage is greater than 4 GB * 0.75 = 3 GB

但这似乎并不可靠,因为数据库的数据大小很容易按比例放大/缩小。因此,如果分配的数据存储增加到 10 GB,我的警报仍将监控 3 GB 以下的数据存储,现在低于分配数据存储的 75%。

最佳答案

我们可以在 Portal 上获取已用空间/已分配空间/最大存储大小: enter image description here

或者您在数据库中使用以下查询:

-- Connect to database
-- Get database data space allocated in MB, max database stroage in MB and database data space allocated used in MB
SELECT SUM(size/128.0) AS DatabaseDataSpaceAllocatedInMB,
SUM(max_size/128.0) AS DatabaseDataSpaceMaxInMB,
SUM (CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0) AS DatabaseDataSpaceUsedInMB
FROM sys.database_files
GROUP BY type_desc
HAVING type_desc = 'ROWS'

enter image description here

您可以使用值创建一个新查询以获取警报值以构建警报规则,例如 AllocatedSpace/UsedSpace 的百分比。

由于 Azure SQL 数据库不支持发送电子邮件功能,我们可以使用逻辑应用程序来触发它:

  1. 创建 Recurrence触发器:安排运行触发器。
  2. 添加执行 SQL 查询操作:以获取警报值。
  3. 添加Condition :判断alert值是否大于75,如果为真,发送邮件!

逻辑应用示例概述:

enter image description here

关于azure-sql-database - 有没有办法从 Azure SQL 数据库资源中获取分配的存储数据百分比指标以创建警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63769636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com