Skip to main content

⭐ Repository β†’ πŸ“ Compliance Engine β†’ πŸ“ CloudAware β†’ πŸ“ Azure β†’ πŸ“ SQL Managed Instance

πŸ›‘οΈ Azure SQL Managed Instance is underutilized🟒

  • Contextual name: πŸ›‘οΈ Managed Instance is underutilized🟒
  • ID: /ce/ca/azure/sql-managed-instance/instance-underutilized
  • Tags:
  • Policy Type: COMPLIANCE_POLICY
  • Policy Categories: COST, PERFORMANCE

Logic​

Description​

Open File

Description​

This policy identifies Azure SQL Managed Instances that are underutilized based on their performance metrics over the past 30 days. An instance is considered underutilized if its average CPU utilization is below 20% and both its average disk read and write I/O are below 50 MB.

Rationale​

Running underutilized SQL Managed Instances results in unnecessary cloud expenditure. By identifying these instances, organizations can make informed decisions to rightsize resources, ensuring performance meets workload demands while minimizing costs.

Impact​

It is essential to carefully analyze historical performance trends before resizing to avoid negatively impacting application performance.

Audit​

This policy evaluates an Azure SQL Managed Instance based on its 30-day performance metrics.

The Managed Instance is marked as INCOMPLIANT if:

  • Monitor: Average CPU Percent, 30-Day < 20%.

    and Monitor: IO Read, MB, 30-Day < 50 MB.

    and Monitor: IO Written, MB, 30-Day < 50 MB.

A Managed Instance is marked as INAPPLICABLE if it is not currently Ready.

... see more

Remediation​

Open File

Remediation​

Before performing any changes, review historical performance metrics to ensure the new configuration can handle periodic or seasonal peaks in workload.

Resize the SQL Managed Instance​

From Azure CLI​
az sql mi update \
--resource-group {{resource-group}} \
--name {{managed-instance-name}} \
--storage {{max-size-in-GB}}
--capacity {{2}}
--edition {{GeneralPurpose | BusinessCritical}}
--family {{Gen4}}
From PowerShell​
Set-AzSqlInstance `
-ResourceGroupName "{{resource-group}}" `
-Name "{{managed-instance-name}}" `
-VCore {{new-vcore-count}} `
-StorageSizeInGB {{max-size-in-GB}} `
-Edition {{GeneralPurpose | BusinessCritical}} `
-ComputeGeneration {{Gen5}}

policy.yaml​

Open File

Linked Framework Sections​

SectionSub SectionsInternal RulesPoliciesFlagsCompliance
πŸ’Ό Cloudaware Framework β†’ πŸ’Ό Resource Right-Sizing15no data
πŸ’Ό Cloudaware Framework β†’ πŸ’Ό Workload Efficiency24no data