Azure SQL Database ARM Template – Ready-to-Deploy Reusable Solution

Overview
This deployment Package provides a fully configured Azure SQL Environment using Azure Resource Manager (ARM) Templates.
The solution deploys a SQL Server (Logical Server), a SQL Database, and a Firewall Rule, enabling fast, secure, and repeatable Database provisioning.
What This Template Deploys
- Azure SQL Server (logical server)
- Azure SQL Database
- Firewall rule allowing Azure services access
- Secure configuration with TLS 1.2 enforced
Files Included
template.json
ARM template defining SQL Server, Database, and Firewall rule
parameters.json
Parameter file used to customize deployment values
deploy.ps1
PowerShell script for validation, What-If, and deployment
Prerequisites
To use this template, you will need:
- An active Azure subscription
- Access to Azure Portal or Azure Cloud Shell
- Azure PowerShell (optional if using Cloud Shell)
Security Model
This template uses SQL Authentication with Secure Password handling:
- Password is NOT stored in parameters.json
- Password is entered at runtime
- Password is handled as a Secure String
How to Deploy
Step 1: Update Parameters
Open **parameters.json** and update:
- sqlServerName
Must be globally unique
- sqlDatabaseName
Name of the database
- location
Example: eastus
- administratorLogin
SQL admin username
- databaseSkuName
Default: Basic (Lowest Cost Tier)
Step 2: Upload Files (Cloud Shell)
Upload:
- template.json
- parameters.json
- deploy.ps1
Step 3: Run Deployment Script
The script supports three modes:
Validate (recommended first)
```PowerShell
.\deploy.ps1 -resourceGroupName RG-ARM-TEMPLATES -mode Validate
Important Notes
Password Handling
Password is required at runtime
Password is not stored in any file
Password is not displayed in the logs or output
Naming Requirements
SQL Server names must be Globally Unique
Firewall Rule
The template includes:
AllowAzureServices (0.0.0.0)
This allows Azure services to connect, but does NOT expose the database publicly.
Cost Note
Azure SQL Database is NOT free
Even the Basic tier incurs a cost
Deploy only when necessary
Summary
This package provides a reusable Azure SQL deployment solution with secure credential handling, proper dependency configuration, and a production-ready security baseline.
Support
For questions or custom template requests, please contact:
ITCloudAcademy Support Team
Email: support@ITCloudAcademy.net
Email: info@ITCloudAcademy.net
Website: http://www.itcloudacademy.net
Support Hours:
Monday to Friday
9:00 AM to 6:00 PM MST
