advanced
Azure SQL
Use managed SQL Server-compatible databases with elastic pools, backups, replicas, firewall rules, and connection policy.
Azure SQL Database and Azure SQL Managed Instance deliver SQL Server–compatible managed relational storage with automated backups, point-in-time restore, geo-replication options, and elastic pools for many small databases sharing capacity.
| Option | When it fits | |--------|--------------| | Single database | One app with predictable sizing | | Elastic pool | Many small DBs with shared DTU/vCore | | Managed Instance | Near on-prem SQL feature parity and VNet |
Firewall rules, private endpoints, and Active Directory authentication replace password sprawl. Connection pooling (PgBouncer-style gateways or app-side pools) matters because serverless tiers still have session limits.
On interviews: DTU vs vCore sizing; failover groups and RPO/RTO; why ORMs plus autoscaling app tiers exhaust connections; transparent data encryption defaults; and migration from self-hosted SQL.
Common pitfalls: allowing Azure services broadly in firewall rules; storing connection strings in source control; no index strategy because “the cloud scales”; and running schema migrations without rollback plans during failover tests.
The trade-off is reduced DBA toil and built-in HA versus vendor-specific tuning, connection limits, and less filesystem-level control than self-managed SQL.
Checklist:
- Use private endpoints or restricted firewall rules.
- Authenticate with Azure AD where possible.
- Size compute and pool membership from measured load.
- Test restore and failover before you need them.
- Monitor deadlocks, DTU/vCore saturation, and connection counts.