Azure SQL Data Warehouse, offers a SQL-based fully managed, petabyte-scale cloud solution for data warehousing. SQL Data Warehouse is highly elastic, enabling you to provision in minutes and scale capacity in seconds. You can scale compute and storage independently, allowing you to burst compute for complex analytical workloads or scale down your warehouse for archival scenarios, and pay based off what you're using instead of being locked into predefined cluster configurations. Unlike other cloud data warehouse services, SQL Data Warehouse offers the unique option to pause compute, giving you even more freedom to better manage your cloud costs.

If you are a developer using SQL Server for your data warehouse, and thinking about migrating your on-premises or VM-based SQL Server data Warehouse to Azure SQL Data Warehouse you've probably asked yourself, "how many Data Warehouse Units (DWUs) do I need for my workload?". Allocation of resources to your SQL Data Warehouse is measured in Data Warehouse Units (DWUs). DWUs are a measure of underlying resources like CPU, memory, IOPS, which are allocated to your SQL Data Warehouse. Increasing the number of DWUs increases resources and performance. This calculator will help you determine the number of DWUs for your existing SQL Server Data Warehouse as well as a recommendation of the minimum performance level and service tier that you need before you migrate to Azure SQL Data Warehouse. Knowing the minimum DWUs will allow you to get the performance you need while minimizing your costs.

  If you are unfamiliar with the term Data Warehouse Units (DWUs), see here for more information.

Let's get started

We capture key resource utilization metrics on your SQL Server and then measure what DWU will provide you with the same level of performance on Azure SQL Data Warehouse

Measure resource utilization

To measure resource utilization for a data warehouse, you'll need to capture metrics for aggregate read and write I/O throughput on your SQL server. To provide the most accurate measurement, you should run a representative production workload during a time period that captures the expected range of usage. Measure the following utilization metrics for at least an hour so the calculator can analyze utilization over time to provide you the best recommendation:

  • Logical Disk - Disk Read Bytes/sec
  • Logical Disk - Disk Writes Bytes/sec

For simplicity in capturing the correct performance metrics from your database, we have provided two methods a PowerShell script or a windows exe. These tools are configured to capture the above performance counters for a one hour period. To use, click the link and download the zip for the appropriate tool on your SQL server, extract the contents and run the utility.

  • If you are using the command line utility, right-click the .exe file and select "Run as administrator."
  • If you are using the PowerShell script, right-click the .ps1 file and select "Run with PowerShell."

Download PowerShell Script

Download Command Line Utility

Upload the CSV file and Calculate

Once the script completes, upload the CSV file generated by the script. Click the Calculate button to view your recommended Service Tier/Performance Level and DWUs.

Review Analysis

After clicking the Calculate button, you'll see several charts which provide an analysis of your database resource consumption. The charts depict the percentage of time (based on your measurements) that your database's resource consumption fits within the limits of each Service Tier/Performance Level. You can review CPU, Iops, and Log individually as well as collectively to better understand which metric(s) affect the performance of your database.

Learn more

Check out the many resources for learning more about SQL Data Warehouse, including:

What is Azure SQL Data Warehouse?

Exclusive free trial

SQL Data Warehouse pricing

Best practices for Azure SQL Data Warehouse