Skip to content

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:

Terminal window
New-AzureSqlVmToolkitDeployment

In these docs, AzSQLVMKit refers to the current tracked toolkit.

  • 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.ps1 for manual .bak restores from the mounted share.
  • 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 -GeneratePassword is supplied.
  • VM passwords are not printed unless -ShowPassword is supplied.
  • New Key Vaults use RBAC authorization.
  • Azure-aware -WhatIf reports create/reuse/update/drift decisions before mutating actions.

Run the no-Azure preview before deploying:

Terminal window
New-AzureSqlVmToolkitDeployment -ConfigFile .\config.local.yaml -SecurityAssessmentAdvice -Plan

This validates config and prints the resolved plan.

After signing in, run an Azure-aware dry run:

Terminal window
Connect-AzAccount
New-AzureSqlVmToolkitDeployment -ConfigFile .\config.local.yaml -WhatIf

Cost helpers, sample database installers, local backup upload, SQL community-tool installers, and live Azure integration evidence are tracked as roadmap items.