Skip to content

🗄️ Azure Synapse SQL Pools

Status Tier

SQL Pools in Azure Synapse provide both serverless and dedicated SQL compute options for data warehousing and analytics workloads.


🌟 Overview

Azure Synapse SQL Pools offer two distinct compute models to meet different analytical needs:

  • Serverless SQL Pools: Pay-per-query model for ad-hoc analytics
  • Dedicated SQL Pools: Reserved capacity for consistent, high-performance workloads

Both share T-SQL compatibility and seamless integration with Azure data services.


📊 SQL Pool Types Comparison

Feature Serverless SQL Dedicated SQL
Pricing Model Pay per TB processed Reserved DWUs
Infrastructure No management Managed capacity
Use Case Ad-hoc queries Data warehousing
Scale Automatic Manual/Scheduled
Performance Variable Predictable
Storage Data Lake Internal + External
Startup Time Instant Minutes
Best For Exploration, BI Production DW

🎯 Pool Selection Guide

Choose Serverless SQL When

  • Querying data lake files (Parquet, CSV, JSON)
  • Exploratory data analysis
  • Cost optimization for variable workloads
  • No infrastructure management needed
  • Prototyping and development
  • Infrequent query patterns

Choose Dedicated SQL When

  • Consistent high-performance requirements
  • Enterprise data warehousing
  • Complex ETL/ELT workflows
  • Predictable workload patterns
  • Advanced performance tuning needed
  • Regulatory compliance requiring dedicated resources

🗂️ Pool Components

Serverless SQL Pools

Pay-per-Query

Query data in your data lake without provisioning infrastructure.

Key Features: - Automatic scaling - T-SQL support for file formats - No infrastructure to manage - Integration with data lake

📖 Complete Guide →


🏢 Dedicated SQL Pools

Reserved Capacity

Enterprise-grade data warehousing with predictable performance.

Key Features: - Massively Parallel Processing (MPP) - Advanced performance features - Enterprise security - Predictable performance

📖 Complete Guide →


🚀 Quick Start Examples

Serverless SQL: Query Data Lake

-- Query Parquet files directly
SELECT
    ProductID,
    ProductName,
    SUM(Quantity) as TotalQuantity,
    SUM(Revenue) as TotalRevenue
FROM OPENROWSET(
    BULK 'https://myaccount.dfs.core.windows.net/sales/year=2024/*/*.parquet',
    FORMAT = 'PARQUET'
) AS sales
GROUP BY ProductID, ProductName
ORDER BY TotalRevenue DESC;

Dedicated SQL: Create Warehouse Table

-- Create distributed table
CREATE TABLE dbo.FactSales
(
    SalesKey BIGINT NOT NULL,
    DateKey INT NOT NULL,
    CustomerKey INT NOT NULL,
    ProductKey INT NOT NULL,
    Quantity INT NOT NULL,
    Amount DECIMAL(19,4) NOT NULL
)
WITH
(
    DISTRIBUTION = HASH(CustomerKey),
    CLUSTERED COLUMNSTORE INDEX
);

Last Updated: 2025-01-28 Service Version: General Availability Documentation Status: Complete