Azure SQL ARM for .NET
Provision and manage Azure SQL resources from .NET.
The skill clearly separates management-plane from data-plane use and recommends DefaultAzureCredential and avoiding hardcoded production passwords. However, examples expose passwords, storage keys, and connection-string patterns, while confirmation, least-privilege requirements, sensitive-data flow, rollback, and recovery guidance for deletion or network exposure are incomplete, so points are deducted.
The documentation covers authentication, resource hierarchy, CRUD workflows, exception handling, and some long-running operations. However, there is no skill-specific executable test or compatibility verification, abnormal-input feedback is limited, and API correctness can only be inferred statically; the score therefore remains conservative under the static cap.
The name, audience, management-plane scope, data-plane non-fit boundary, and trigger terms are fairly clear. It does not sufficiently state required Azure permissions, regional/SKU constraints, cost or production boundaries, Chinese-language support, or mainland-China reachability, so points are deducted.
The structure is readable and includes installation, environment variables, authentication, workflows, reference files, related SDKs, version metadata, and an MIT license. It lacks a changelog, explicit maintenance/update path, comprehensive troubleshooting, complete parameter constraints, and clear known limitations or reference-file packaging guarantees.
The skill supplies directly usable templates for servers, databases, elastic pools, firewall rules, restores, retention, and auditing, covering core management tasks. However, the selected skill has no dedicated validation evidence, and examples may require permission setup, resource-group context, parameter validation, and security changes; direct runnability is therefore unproven and capped by static calibration.
The material provides concrete package names, versions, types, code examples, and error handling, while the repository includes general CI and harness tests. Those tests do not cover this skill's key paths, and there are no skill-specific acceptance criteria, execution results, or corroborating sources, so evidence coverage is limited.
- Do not use the sample passwords, storage access keys, or connection strings directly in production; use managed identity, a secret store, and secure secret injection.
- Create, delete, restore, firewall changes, and private-endpoint approval cause external Azure effects; confirm the subscription, resource group, targets, permissions, cost, and rollback plan first.
- This static review did not compile or execute the examples against Azure.ResourceManager.Sql v1.3.0 or v1.4.0-beta.3.
- The repository CI and tests are general context and do not establish execution coverage for this selected skill's key paths.
What it does & when to use it
This skill guides .NET developers through Azure Resource Manager management-plane operations for Azure SQL using Azure.ResourceManager.Sql. It covers SQL servers, databases, elastic pools, firewall rules, failover groups, authentication, resource navigation, asynchronous CRUD, listing, and ARM error handling. It explicitly excludes data-plane work such as queries and stored procedures. Adopt it when your project needs repeatable Azure SQL provisioning or administration in C#; choose a data-access library for database workloads.
It shows how to install Azure.ResourceManager.Sql and Azure.Identity, create an ArmClient with DefaultAzureCredential, and navigate from a subscription and resource group to SQL resources. The examples create SQL servers, databases, and elastic pools; attach databases to pools; configure Azure-service and IP-range firewall rules; list servers, databases, and pools; build a connection string; and catch RequestFailedException. It also explains the boundary between Azure.ResourceManager.Sql for management operations and Microsoft.Data.SqlClient for data-plane access.
- A .NET infrastructure developer needs to provision an Azure SQL server and database from C#.
- A platform engineer manages several databases and wants to place them in an elastic pool.
- A deployment workflow must configure Azure SQL firewall access for Azure services or a known client IP range.
- A disaster-recovery workflow needs to manage Azure SQL failover groups.
- A developer needs to inspect deployed SQL servers, databases, and elastic pools through ARM resources.
Pros & cons
- The management-plane scope is explicit and distinguishes it from data-plane database work.
- The skill covers authentication, resource creation, networking, listing, connection-string construction, and error handling.
- It demonstrates practical ARM patterns including CreateOrUpdateAsync, WaitUntil.Completed, and hierarchical Get methods.
- The README reports 14 test scenarios for this skill.
- It is limited to .NET and Azure SQL management operations; it does not execute queries or stored procedures.
- The examples contain administrator-password and connection-string placeholders, so production credential handling remains the adopter's responsibility.
- The source does not provide an independent maintenance history or detailed test results for this skill.
- The repository README describes the collection as a work in progress, so the skill may evolve.
How to install
Run npx skills add microsoft/skills and select azure-resource-manager-sql-dotnet in the wizard. The README says skills are installed into the selected agent directory, such as .github/skills/ for GitHub Copilot; it does not document a standalone installer for this skill. Add the SDK packages with dotnet add package Azure.ResourceManager.Sql and dotnet add package Azure.Identity.
How to use
In an Agent Skills-compatible coding agent, use a request such as: Use the azure-resource-manager-sql-dotnet skill to provision an Azure SQL server, database, and firewall rule in C#. Set AZURE_SUBSCRIPTION_ID, authenticate with DefaultAzureCredential, and follow the examples using ARM collection methods such as CreateOrUpdateAsync. For queries, stored procedures, or connection management, use Microsoft.Data.SqlClient instead.
Compared to similar skills
The clearest alternative is Microsoft.Data.SqlClient: this skill manages Azure SQL resources through the management plane, while Microsoft.Data.SqlClient executes queries, stored procedures, and manages connections. Microsoft.EntityFrameworkCore.SqlServer is an ORM for SQL Server and is not provided by this skill.