← LeaderboardThe Skill Leaderboard

azure-sql-virtual-machines

Expert knowledge for SQL Server on Azure Virtual Machines development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when planning SQL VM vs Managed Instance, Always On/FCI HADR, Azure storage/backup, Key Vault/MI auth, or KQL telemetry, and other SQL Server on Azure Virtual Machines related development tasks. Not for Azure SQL Database (use azure-sql-database), Azure SQL Managed Instance (use azure-sql-managed-instance), Azure Virtual Machines (use azure-v

Published by MicrosoftDocs ↗MicrosoftDocs/Agent-Skills

Try your first task

A source-grounded starter task has not been verified for this skill yet.

SKILL.md

name: azure-sql-virtual-machinesdescription: Expert knowledge for SQL Server on Azure Virtual Machines development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when planning SQL VM vs Managed Instance, Always On/FCI HADR, Azure storage/backup, Key Vault/MI auth, or KQL telemetry, and other SQL Server on Azure Virtual Machines related development tasks. Not for Azure SQL Database (use azure-sql-database), Azure SQL Managed Instance (use azure-sql-managed-instance), Azure Virtual Machines (use azure-virtual-machines), SAP HANA on Azure Large Instances (use azure-sap).compatibility: Requires network access. Uses mcp_microsoftdocs:microsoft_docs_fetch or fetch_webpage to retrieve documentation.metadata:   generated_at: "2026-10-25"  generator: "docs2skills/1.0.0"

SQL Server on Azure Virtual Machines Skill

This skill provides expert guidance for SQL Server on Azure Virtual Machines. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.

How to Use This Skill

IMPORTANT for Agent: Use the Category Index below to locate relevant sections. For categories with line ranges (e.g., L35-L120), use read_file with the specified lines. For categories with file links (e.g., [security.md](security.md)), use read_file on the linked reference file

IMPORTANT for Agent: If metadata.generated_at is more than 3 months old, suggest the user pull the latest version from the repository. If mcp_microsoftdocs tools are not available, suggest the user install it: Installation Guide

This skill requires network access to fetch documentation content:

  • Preferred: Use mcp_microsoftdocs:microsoft_docs_fetch with query string from=learn-agent-skill. Returns Markdown.
  • Fallback: Use fetch_webpage with query string from=learn-agent-skill&accept=text/markdown. Returns Markdown.

Category Index

CategoryLinesDescription
TroubleshootingL37-L53Diagnosing and fixing Azure SQL and SQL Server on Azure VM issues: connectivity, performance, capacity, memory, transaction log full, geo-replication lag, I/O throttling, and IaaS agent problems.
Best PracticesL54-L68Best practices for SQL Server on Azure VMs: sizing, storage, tempdb, performance tuning, baselines, HADR/FCI with DNN, backups/restores, and planned maintenance preparation.
Decision MakingL69-L79Guidance for choosing Azure SQL options and pricing, comparing SQL VMs vs Managed Instance, planning migrations (including Db2), HADR choices, regional feature support, and SQL VM licensing/AHB.
Architecture & Design PatternsL80-L88High-level designs and patterns for SQL Server on Azure VMs: connectivity, Always On availability groups, failover cluster instances, and Windows Server Failover Clustering setup.
Limits & QuotasL89-L93Info on Azure SQL capacity limits, DTU benchmark behavior, regional feature availability, and how to request quota increases for databases and managed instances
SecurityL94-L103Securing SQL Server on Azure VMs: policies, TLS cert rotation, Key Vault/EKM, managed identities, Entra auth, Extended Security Updates, hardening guidance, and confidential VM deployment.
ConfigurationL104-L150Configuring SQL Server/Managed Instance on Azure VMs: HA/DR (AGs, FCIs, listeners, load balancers), storage and backup layout, IaaS Agent, performance/monitoring, and deployment options.
Integrations & Coding PatternsL151-L156Querying SQL performance telemetry with KQL and configuring backups from SQL Server on Azure VMs to Blob Storage, including setups that use managed identities.
DeploymentL157-L173Deploying and migrating SQL Server on Azure VMs, including Always On/FCI availability groups (single/multi-subnet, cross-region), regional moves, Ultra Disk, and Confidential VM setups.

Troubleshooting

TopicURL
Resolve capacity errors when deploying Azure SQL resourceshttps://learn.microsoft.com/en-us/azure/azure-sql/capacity-errors-troubleshoot?view=azuresql
Fix slow database import and export in Azure SQLhttps://learn.microsoft.com/en-us/azure/azure-sql/database/database-import-export-hang?view=azuresql
Troubleshoot and mitigate transient connectivity errors in Azure SQLhttps://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-connectivity-issues?view=azuresql
Troubleshoot Azure SQL and Fabric SQL connectivity errorshttps://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-common-errors-issues?view=azuresql
Troubleshoot geo-replication and redo lag in Azure SQL Databasehttps://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-geo-replication-redo?view=azuresql
Investigate and fix memory issues in Azure SQL Databasehttps://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-memory-errors-issues?view=azuresql
Diagnose and fix Azure SQL DB transaction log full errorshttps://learn.microsoft.com/en-us/azure/azure-sql/database/troubleshoot-transaction-log-errors-issues?view=azuresql-db
Resolve known issues in Azure SQL Managed Instancehttps://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/doc-changes-updates-known-issues?view=azuresql
Resolve transaction log full errors in Azure SQL Managed Instancehttps://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/troubleshoot-transaction-log-errors-issues?view=azuresql-mi
Troubleshoot SQL Server on Linux Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/frequently-asked-questions-faq?view=azuresql
Resolve common SQL Server on Azure VM issueshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/frequently-asked-questions-faq?view=azuresql
Troubleshoot SQL Server IaaS Agent extension issues on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-agent-extension-troubleshoot-known-issues?view=azuresql
Diagnose I/O throttling for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/storage-performance-analysis?view=azuresql

Best Practices

TopicURL
Prepare for planned maintenance in Azure SQLhttps://learn.microsoft.com/en-us/azure/azure-sql/database/planned-maintenance?view=azuresql
Use SQL features with DNN listeners on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-dnn-interoperability?view=azuresql
Apply backup and restore strategies for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/backup-restore?view=azuresql
Use SQL Server features with FCI DNN on Azurehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-dnn-interoperability?view=azuresql
Configure HADR clusters for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/hadr-cluster-best-practices?view=azuresql
Apply performance best-practice checklist for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-checklist?view=azuresql
Collect performance baselines for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-collect-baseline?view=azuresql
Optimize Azure SQL VM storage performance configurationhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-storage?view=azuresql
Apply VM sizing performance best practices for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/performance-guidelines-best-practices-vm-size?view=azuresql
Run SQL best practices assessment for Azure SQL VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-assessment-for-sql-vm?view=azuresql
Optimize SQL Server tempdb using Azure VM ephemeral storagehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/tempdb-ephemeral-storage?view=azuresql

Decision Making

Architecture & Design Patterns

Limits & Quotas

TopicURL
Understand DTU benchmark characteristics for Azure SQLhttps://learn.microsoft.com/en-us/azure/azure-sql/database/dtu-benchmark?view=azuresql

Security

Configuration

TopicURL
Modify Azure SQL Database configuration settings safelyhttps://learn.microsoft.com/en-us/azure/azure-sql/database/modifiable-configuration-reference?view=azuresql
Reference for Azure SQL Database monitoring metrics and logshttps://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-sql-database-azure-monitor-reference?view=azuresql
Use Azure portal classic query editor for SQL Databasehttps://learn.microsoft.com/en-us/azure/azure-sql/database/query-editor-classic?view=azuresql
Modify Azure SQL Managed Instance configuration settingshttps://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/modifiable-configuration-reference?view=azuresql
Reference Azure Monitor metrics for SQL Managed Instancehttps://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/monitoring-sql-managed-instance-azure-monitor-reference?view=azuresql
Set up Always On AG with DH2i DxEnterprise on Azurehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/dh2i-high-availability-tutorial?view=azuresql
Configure availability group listener for Linux SQL VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/high-availability-listener-tutorial?view=azuresql
Configure RHEL cluster and fencing for SQL AG on Azurehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/rhel-high-availability-fencing-tutorial?view=azuresql
Configure SLES cluster and STONITH for SQL AG on Azurehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/sles-high-availability-fencing-tutorial?view=azuresql
Register Linux SQL Server VMs with SQL IaaS Agenthttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/sql-iaas-agent-extension-register-vm-linux?view=azuresql
Configure SQL IaaS Agent extension on Linux SQL VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/sql-server-iaas-agent-extension-linux?view=azuresql
Configure Ubuntu availability group for SQL on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/ubuntu-high-availability-fencing-tutorial?view=azuresql
Create SQL Server on Azure VM with PowerShellhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/scripts/create-sql-vm-powershell?view=azuresql
Configure automated backups for SQL Server 2014 VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/automated-backup-sql-2014?view=azuresql
Configure automated backups for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/automated-backup?view=azuresql
Configure domain-independent SQL AG on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-clusterless-workgroup-configure?view=azuresql
Configure DNN listener for SQL availability groups on VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-distributed-network-name-dnn-listener-configure?view=azuresql
Configure AG listeners and load balancer via PowerShellhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-listener-powershell-configure?view=azuresql
Configure load balancer and AG listener in Azure portalhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-load-balancer-portal-configure?view=azuresql
Configure SQL Server AG with Azure quickstart templatehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-quickstart-template-configure?view=azuresql
Configure Azure Load Balancer for SQL AG VNN listenerhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-vnn-azure-load-balancer-configure?view=azuresql
Change SQL Server edition in-place on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/change-sql-server-edition?view=azuresql
Upgrade or downgrade SQL Server version in-place on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/change-sql-server-version?view=azuresql
Configure SQL Server on Azure VM deployment optionshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/create-sql-vm-portal?view=azuresql
Provision SQL Server on Azure VMs with advanced PowerShell optionshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/create-sql-vm-powershell?view=azuresql
Configure SQL Server on Azure Dedicated Hosthttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/dedicated-host?view=azuresql
Configure SQL IaaS Agent performance monitoring on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/enable-performance-monitoring-sql-vm?view=azuresql-vm
Manually configure SQL FCI with Azure Elastic SANhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-azure-elastic-san-manually-configure?view=azuresql
Manually configure SQL FCI with Azure shared diskshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-azure-shared-disks-manually-configure?view=azuresql
Configure distributed network name for SQL FCI on Azurehttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-distributed-network-name-dnn-configure?view=azuresql
Create SQL failover cluster instance using premium file shareshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-premium-file-share-manually-configure?view=azuresql
Prepare Azure VMs for SQL failover cluster instanceshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-prepare-vm?view=azuresql
Configure SQL FCI using Storage Spaces Direct on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-storage-spaces-direct-manually-configure?view=azuresql
Configure Azure Load Balancer for SQL FCI VNNhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/failover-cluster-instance-vnn-azure-load-balancer-configure?view=azuresql
Configure cluster quorum for SQL Server VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/hadr-cluster-quorum-configure-how-to?view=azuresql
Configure SQL Server VM settings in Azure portalhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/manage-sql-vm-portal?view=azuresql
Enable automatic SQL IaaS Agent extension registration for all SQL VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-agent-extension-automatic-registration-all-vms?view=azuresql
Manually register SQL Server VM with SQL IaaS Agenthttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-agent-extension-manually-register-single-vm?view=azuresql
Bulk register SQL Server VMs with the SQL IaaS Agent extensionhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-agent-extension-manually-register-vms-bulk?view=azuresql
Configure Azure Elastic SAN for SQL Server VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/storage-configuration-azure-elastic-san?view=azuresql
Configure storage layout for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/storage-configuration?view=azuresql
Configure vCore customization for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/vm-vcore-customization-for-sql?view=azuresql
Configure connectivity options for SQL Server on Azure VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/ways-to-connect-to-sql?view=azuresql

Integrations & Coding Patterns

Deployment

TopicURL
Check Azure SQL Database feature availability by regionhttps://learn.microsoft.com/en-us/azure/azure-sql/database/region-availability?view=azuresql
Check Azure SQL Managed Instance feature availability by regionhttps://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/region-availability?view=azuresql
Deploy multi-subnet availability group using PowerShell/CLIhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-az-commandline-configure-multi-subnet?view=azuresql
Deploy single-subnet availability group via PowerShell/CLIhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-az-commandline-configure?view=azuresql
Configure cross-region multi-subnet availability grouphttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-multi-subnet-multiple-regions?view=azuresql
Configure cross-region availability group for SQL VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-multiple-regions?view=azuresql
Prepare prerequisites for single-subnet availability groupshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-prerequisites-tutorial-single-subnet?view=azuresql
Configure multi-subnet availability group on SQL VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-multi-subnet?view=azuresql
Configure single-subnet Always On availability grouphttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet?view=azuresql
Migrate availability group from single to multi-subnethttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-migrate-multi-subnet?view=azuresql
Migrate SQL Server VMs to another Azure regionhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/move-sql-vm-different-region?view=azuresql
Deploy SQL Server on Azure Confidential VMshttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/sql-vm-create-confidential-vm-how-to?view=azuresql
Migrate SQL Server VM log disk to Azure Ultra Diskhttps://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/storage-migrate-to-ultradisk?view=azuresql
Migrate SQL FCI to Azure VMs with Azure Migratehttps://learn.microsoft.com/en-us/data-migration/sql-server/virtual-machines/failover-cluster-instance-migrate