Overview
AzureSqlVmToolkit is currently a module-based lab toolkit for creating an Azure SQL Server VM environment from YAML. The original root script remains available as a compatibility entry point.
The supported entry point is:
New-AzureSqlVmToolkitDeploymentIn these docs, AzSQLVMKit refers to the current tracked toolkit.
What It Deploys
Section titled “What It Deploys”- SQL Server VM on Windows Server.
- VNet, VM subnet, NSG, and NIC.
- Azure Bastion for RDP access.
- RBAC-enabled Key Vault.
- Storage account and Azure Files share.
- System-assigned VM managed identity.
- Guest setup through Azure VM Run Command.
- Azure Files mount inside the VM.
restore-databases.ps1for manual.bakrestores from the mounted share.
Current Safety Defaults
Section titled “Current Safety Defaults”- No VM public IP by default.
- Empty sample
securityRules. - Broad inbound RDP and SQL rules rejected by validation.
- Missing VM admin password secrets are not generated unless
-GeneratePasswordis supplied. - VM passwords are not printed unless
-ShowPasswordis supplied. - New Key Vaults use RBAC authorization.
- Azure-aware
-WhatIfreports create/reuse/update/drift decisions before mutating actions.
First Command
Section titled “First Command”Run the no-Azure preview before deploying:
New-AzureSqlVmToolkitDeployment -ConfigFile .\config.local.yaml -SecurityAssessmentAdvice -PlanThis validates config and prints the resolved plan.
After signing in, run an Azure-aware dry run:
Connect-AzAccountNew-AzureSqlVmToolkitDeployment -ConfigFile .\config.local.yaml -WhatIfNot Shipped Yet
Section titled “Not Shipped Yet”Cost helpers, sample database installers, local backup upload, SQL community-tool installers, and live Azure integration evidence are tracked as roadmap items.