Build SQL Elastic Pool configs with DTU or vCore sizing, per-database min/max settings, zone redundancy, and backup retention.
Build SQL Elastic Pool configs with DTU or vCore sizing, per-database min/max settings, zone redundancy, and backup retention policies.
Required Fields
elasticPoolNameserverNameresourceGrouppricingModeldatabasesOutput will appear here...Build an Azure SQL elastic pool sizing decision comparing vCore versus DTU pricing models, where the pool's total capacity is shared across member databases based on each database's actual peak versus average utilization, the entire economic case for an elastic pool is that databases with uncorrelated usage spikes (db-orders peaking at different times than db-analytics) can share one pool's capacity more cheaply than provisioning each database's peak capacity individually. perDatabaseSettings' minCapacity/maxCapacity (vCore) or minDTUs/maxDTUs (DTU) caps prevent one database's runaway query from consuming the entire pool's shared capacity and starving every other database sharing it, a real risk of pooling without this per-database ceiling.
Yes, without per-database caps, this is exactly the risk elastic pools introduce in exchange for their cost efficiency, perDatabaseSettings' max values (maxCapacity for vCore, maxDTUs for DTU) are the mitigation, capping how much of the pool's shared capacity any single database can consume even under heavy load, always set these caps deliberately rather than leaving them at an overly generous default that defeats the protection.
When databases have meaningfully uncorrelated usage patterns, peaks that don't happen at the same time, since the pool only needs capacity to cover the combined peak across all databases at any given moment, not the sum of each database's individual peak. If several databases in a pool tend to peak simultaneously (say, all driven by the same nightly batch job), pooling provides much less savings than the same databases with staggered peak times.
DTU (Database Transaction Unit) is a blended, abstracted measure of compute/storage/IO bundled together, simpler to reason about but less transparent about which specific resource is the actual constraint. vCore lets you separately configure compute tier, generation, and storage, offering more granular control and often better price transparency for a given workload's actual resource profile, but requiring more deliberate sizing decisions across those separate dimensions.
The builder validates that elasticPoolName, serverName, resourceGroup, pricingModel, and databases all resolve before accepting the JSON as a valid combined elastic pool and per-database sizing specification; it can't calculate whether the specific databases' actual usage patterns genuinely benefit from pooling versus individual provisioning, that requires real usage telemetry the tool doesn't have access to, this is a planning and documentation aid, not a live cost optimizer.
Elastic pools save money specifically when member databases have uncorrelated peak usage times, verify this assumption with real usage data before committing to a pool, databases that all spike together get much less benefit from pooling than the cost model might suggest at a glance.
Always set meaningful perDatabaseSettings max caps, an elastic pool without them effectively has no protection against one misbehaving database degrading performance for every other database sharing the pool.
Separate short-term operational retention (backupStorage.retentionDays) from long-term compliance retention (longTermRetention's weekly/monthly/yearly settings), keeping full-fidelity short-term backups for a compliance-driven multi-year retention window is far more expensive than layering a proper LTR policy on top.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.