PowerShell 检查 Azure SQL 托管实例中的可用剩余空间

huangapple go评论83阅读模式
英文:

PowerShell to check available free space in Azure SQL Managed Instance

问题

我正在编写一个PowerShell脚本,用于从Azure存储帐户动态恢复数据库到托管实例。为了增加额外的功能,我正在寻找一个PowerShell模块,可以帮助我找到托管实例中的可用空间,以避免在最后一刻恢复失败。

有人可以帮忙吗?

英文:

I am working on a PowerShell script to restore databases dynamically from the Azure storage account to Managed instance. To add additional functionality I am looking for a PowerShell module that can help me to find free space from managed instances to avoid restoring failure at the last moment.

can anyone help me?

答案1

得分: 1

你可以使用PowerShell的Get-AzMetric来实现这个。在下面的脚本中查看$SpaceMetric。

  1. $StorageAccounts = Get-AzResource -ResourceType Microsoft.Sql/managedInstances
  2. FOREACH($StorageAccount in $StorageAccounts){
  3. $ResourceId = $StorageAccount.ResourceId
  4. $Start = (get-date).AddDays(-7)
  5. $End = get-date
  6. $SpaceMetric = Get-AzMetric -ResourceId $ResourceId -MetricName "storage_space_used_mb" -WarningAction Ignore
  7. $IOMetric = Get-AzMetric -ResourceId $ResourceId -MetricName "io_requests" -StartTime $Start -EndTime $End -WarningAction Ignore
  8. $CoreMetric = Get-AzMetric -ResourceId $ResourceId -MetricName "virtual_core_count" -WarningAction Ignore
  9. #Load Variables for SQL Statement.
  10. $TeamGroupName = $SubscriptionID.TeamGroupsName
  11. $ServiceName = $SubscriptionID.ServiceName
  12. $SubscriptionName = $SubscriptionID.SubscriptionName
  13. $SubID = $SubscriptionID.SubscriptionID
  14. $StorageAccountName = $StorageAccount.Name
  15. $StorageType = 'SQL-MI'
  16. $SQLMISize = ($SpaceMetric.Data | Select-Object -First 1).Average/1024
  17. $TotalRequests = ($IOMetric.Data | Select-Object -First 1).Average
  18. $CoreCount = ($CoreMetric.Data | Select-Object -First 1).Average
  19. $Region = $StorageAccount.Location
  20. $RefreshedAt = Get-Date
  21. }
英文:

You can use PowerShell Get-AzMetric for that. See $SpaceMetric on below script.

  1. $StorageAccounts = Get-AzResource -ResourceType Microsoft.Sql/managedInstances
  2. FOREACH($StorageAccount in $StorageAccounts){
  3. $ResourceId = $StorageAccount.ResourceId
  4. $Start = (get-date).AddDays(-7)
  5. $End = get-date
  6. $SpaceMetric = Get-AzMetric -ResourceId $ResourceId -MetricName "storage_space_used_mb" -WarningAction Ignore
  7. $IOMetric = Get-AzMetric -ResourceId $ResourceId -MetricName "io_requests" -StartTime $Start -EndTime $End -WarningAction Ignore
  8. $CoreMetric = Get-AzMetric -ResourceId $ResourceId -MetricName "virtual_core_count" -WarningAction Ignore
  9. #Load Variables for SQL Statement.
  10. $TeamGroupName = $SubscriptionID.TeamGroupsName
  11. $ServiceName = $SubscriptionID.ServiceName
  12. $SubscriptionName = $SubscriptionID.SubscriptionName
  13. $SubID = $SubscriptionID.SubscriptionID
  14. $StorageAccountName = $StorageAccount.Name
  15. $StorageType = 'SQL-MI'
  16. $SQLMISize = ($SpaceMetric.Data | Select-Object -First 1).Average/1024
  17. $TotalRequests = ($IOMetric.Data | Select-Object -First 1).Average
  18. $CoreCount = ($CoreMetric.Data | Select-Object -First 1).Average
  19. $Region = $StorageAccount.Location
  20. $RefreshedAt = Get-Date

huangapple
  • 本文由 发表于 2023年7月17日 23:57:48
  • 转载请务必保留本文链接:https://go.coder-hub.com/76706226.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定