Pause Synapse SQL Pools, ML Compute and Databricks
Three Azure analytics services, three different verbs: pause, stop and terminate. The commands, the permissions and what survives each.
Azure’s analytics services each have their own idea of “off”. A Synapse dedicated SQL pool pauses, an Azure Machine Learning compute instance stops, and Azure Databricks compute terminates. The commands below do each one and show how to confirm it took.
Synapse dedicated SQL pool: pause
Permission. For a pool in a Synapse workspace, the RBAC actions are Microsoft.Synapse/workspaces/sqlPools/pause/action and Microsoft.Synapse/workspaces/sqlPools/resume/action. Microsoft’s compute management page says pause and resume on a standalone dedicated SQL pool need the SQL DB Contributor role, specifically Microsoft.Sql/servers/databases/action.
Before you pause. All running or queued operations are cancelled when the pause starts. A SELECT cancels almost instantly, but a query that modifies data must roll back, and that rollback can hold up the pause, so Microsoft recommends letting existing transactions finish first.
az synapse sql pool pause --name dwh_dev --workspace-name syn-analytics-dev --resource-group rg-analyticsaz synapse sql pool resume --name dwh_dev --workspace-name syn-analytics-dev --resource-group rg-analyticsaz synapse sql pool show --name dwh_dev --workspace-name syn-analytics-dev --resource-group rg-analytics --query status -o tsvWhat bills while paused. Data warehouse unit (compute) cost is zero, but you continue to be charged for storage; your data stays intact. The Status field reads Paused once the pause completes. DMV counters reset. If the pool must stay queryable, Microsoft suggests scaling it to the smallest size instead of pausing.
Azure ML compute instance: stop
az ml compute stop --name ci-dana --resource-group rg-ml --workspace-name mlw-dev --no-waitaz ml compute start --name ci-dana --resource-group rg-ml --workspace-name mlw-devThese commands apply to a ComputeInstance target. Notebooks and files in the workspace’s file share survive a stop. Stopping does not release the instance’s cores quota, so a restart is not blocked by quota. Microsoft warns against stopping an instance from its OS terminal with sudo shutdown; use the command or the studio. Azure ML also has a native idle shutdown: set idle_time_before_shutdown_minutes in the compute instance YAML at creation. The inactivity window must be between 15 minutes and three days, and an instance running a custom application is never considered idle, so it needs a schedule instead. The Scheduling step of the portal’s create flow can also add a recurring start or stop.
Azure Databricks compute: terminate
Databricks has no pause. Terminating compute releases the VMs; the configuration is stored so the compute can be started again later.
databricks clusters delete 0923-164208-meows279 # terminate, not permanentdatabricks clusters start 0923-164208-meows279databricks clusters get 0923-164208-meows279 # look for "state": "TERMINATED"Note that clusters delete in the Databricks CLI means terminate; clusters permanent-delete is the destructive one. Unless compute is pinned or restarted, Databricks permanently deletes it 30 days after termination, and that system deletion does not appear in audit logs. An admin can pin up to 100 compute resources to keep their configuration.
Which to use when
| Service | Off verb | Compute billing when off | What keeps billing |
|---|---|---|---|
| Synapse dedicated SQL pool | Pause | None for DWUs | Storage |
| Azure ML compute instance | Stop | Stop is Microsoft’s documented cost-saving action | Workspace storage (notebooks live there) |
| Azure Databricks compute | Terminate | Stops (no DBUs, VMs released) | Nothing on the cluster itself; pools keep idle VMs billing with the cloud provider |
The Databricks pool row reflects Databricks’ own statement that it charges no DBUs for idle pool instances but instance provider billing still applies.
With ZopNight
ZopNight’s remediation wizard has a pause step for Azure Synapse pools, ML Compute, Data Factory, Cognitive Services and Databricks clusters, all reversible, and each run goes precondition, optional admin approval, execute, validate. Synapse SQL pools and ML Compute are also on ZopNight’s start/stop list, so they can follow an ordinary cron schedule in an IANA timezone. Execution needs a read + write connection. The per-resource notes are on Synapse pool scheduling and ML compute instance scheduling, and the full list of pause-capable types is in the pause step roster.