azure - 多个数据库的 Azure SQL Server 监视/警报 (v12)
问题描述
监视某个指标并通过多个数据库对其发出警报的最佳方法是什么。例如,如果数据库大小超过 10 GB,我想触发警报。
我知道您可以选择一个数据库并在 Azure Monitor 中进行配置,但是当有数百个数据库时,这似乎不可行。
我的数据库是使用Azure 资源管理创建的
解决方案
我认为 PowerShell,特别是Get-AzureSqlDatabaseUsages命令,是你最好的朋友。我过去曾将其作为修改后的“心跳”来完成。因此,我们还分析了索引碎片,并REBUILD
在需要时触发了一个。
上面的 PowerShell 命令示例:
C:\> Get-AzureSqlDatabaseUsages -ServerName "Server01" -DatabaseName "Database01"
这将要求您通过身份验证,但这本身也很简单。
您可以按计划执行脚本(即作为 WebJob 或计划任务)并根据某些指标阈值进行报告/通知。
编辑:对于 v12 数据库,使用以下查询(可以使用 PowerShell 和 以编程方式执行
sqlcmd.exe
)
SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) AS DatabaseSizeInBytes,
SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) / 1024 / 1024 AS DatabaseSizeInMB,
SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) / 1024 / 1024 / 1024 AS DatabaseSizeInGB
FROM sys.database_files
WHERE type_desc = 'ROWS';
推荐阅读
- java - Intellij IDEA 2020.1 终极版:无法将证书添加到捆绑 jre
- angular - 角度刷新浏览器回到初始页面
- flutter - TextInputAction.next 使键盘消失
- spring - 使用 CircuitBreaker 注释的方法的集成测试不起作用
- javascript - 在循环中正确使用 Promise javascript
- .net - 如何在 Postgresql 中处理位到布尔功能
- android-studio - Xzing 条码:我在使用 androidx.fragment.app.Fragment 的片段中遇到类型不匹配错误
- php - 如何使 PHP OpCache 中的新版本更新安全?
- ios - 如何通过提供角落位置来缩放 Mapview
- nuxt.js - Nuxt.js 创建页面,可用于唯一特定的语言环境(我自己定义)