DP-300 · Domain 4 of 5

DP-300 Domain 4: Configure and manage automation of tasks

Automating routine database work in Azure SQL: scheduling and troubleshooting SQL Server Agent jobs, deploying resources with ARM, Bicep, PowerShell and the Azure CLI, and running elastic jobs and alert-driven tasks where Agent is not available.

Exam weight
15–20%
Official functional groups
3
Estimated questions estimate
~9
Suggested study time estimate
8–11 hrs

About 10 min read Reviewed October 2026

Overview

Domain 4 is weighted at 15–20% and has three functional groups. The first covers SQL Server Agent: managing schedules for maintenance jobs, configuring alerts and notifications, and troubleshooting failed jobs. The second covers automating deployment with Azure Resource Manager and Bicep templates, Azure PowerShell and the Azure CLI, along with monitoring and troubleshooting deployments.

The third covers database tasks in Azure: creating and configuring elastic jobs, building tasks with automation services, configuring alerts and notifications, and troubleshooting automated tasks. The key platform fact is that SQL Server Agent exists on SQL Server VMs and Managed Instance but not in Azure SQL Database, where elastic jobs, Azure Automation, Logic Apps or Functions fill the gap.

How it's tested

Expect a recurring task, a fleet of databases or a repeatable environment, and a choice between SQL Server Agent, elastic jobs, Azure Automation and infrastructure as code tools. Some items show partial scripts or templates where you supply the missing command, parameter or property.

  • Where can Agent run

    The platform named in the scenario decides between SQL Server Agent and elastic jobs or Azure-native automation.

  • Complete the template

    A Bicep, ARM, PowerShell or CLI fragment is missing a resource type, property or command, and you fill it in.

  • Why did the job fail

    Job history, credentials, schedules or alert routing explain why a task did not run or did not notify anyone.

Reasoning it through

A team must rebuild indexes every Sunday on 150 Azure SQL databases spread across three logical servers and receive an email if any run fails. SQL Server Agent is not available in Azure SQL Database. An elastic job agent with a target group covering the servers runs the T-SQL step on each database, and an Azure Monitor alert on job failures sends email through an action group.

Functional groups 3

Official functional groups from the Microsoft outline, in outline order.

4.1 Create and manage SQL Server Agent jobsMaintenance schedules, alerts and notifications, and troubleshooting Agent jobs.
What it means
This group covers managing schedules for regular maintenance jobs, configuring job alerts and notifications, and troubleshooting SQL Server Agent jobs on platforms where Agent exists: SQL Server on Azure VMs and Azure SQL Managed Instance.
What to understand
Jobs contain steps, schedules and notifications. Operators receive email through Database Mail when jobs fail, succeed or complete, and alerts fire on error severity, message numbers or performance conditions. On Managed Instance, Agent is always running and Database Mail uses a profile named AzureManagedInstance_dbmail_profile. Troubleshooting starts with job history in msdb, then checks job owner, proxy credentials, step output files and whether the schedule is enabled. Maintenance jobs typically cover index and statistics work, integrity checks and, on VMs, backups unless automated backup handles them.
How it shows up
Expect a job that silently stopped notifying, failed after an owner left, or needs a schedule change for a maintenance window.
Common confusion
Expecting SQL Server Agent in Azure SQL Database; it is not available there.
4.2 Automate deployment of database resourcesARM and Bicep templates, Azure PowerShell, Azure CLI, and deployment monitoring.
What it means
This group covers automating deployment of Azure SQL resources by using Azure Resource Manager and Bicep templates, Azure PowerShell and the Azure CLI, and monitoring and troubleshooting those deployments.
What to understand
Templates declare resources such as Microsoft.Sql/servers and Microsoft.Sql/servers/databases with properties like SKU, collation and zone redundancy. Bicep compiles to ARM JSON and is easier to read. Incremental mode adds or updates resources, while complete mode removes resources not in the template. The what-if operation previews changes. PowerShell cmdlets include New-AzSqlServer and New-AzSqlDatabase, and the CLI uses az sql server create and az sql db create. Failed deployments are diagnosed in the resource group deployment history, activity log and error codes, often caused by naming rules, quota limits or missing parameters.
How it shows up
Expect a script or template with a missing element, or a choice of the repeatable method for many environments.
Common confusion
Using complete mode casually and deleting resources that were not defined in the template.
4.3 Create and manage database tasks in AzureElastic jobs, automation services, alerts and troubleshooting automated tasks.
What it means
This group covers creating and configuring elastic jobs, creating database tasks with automation services, configuring alerts and notifications on those tasks, and troubleshooting automated database tasks in Azure.
What to understand
An elastic job agent uses a job database in Azure SQL Database to store definitions and history. Target groups list servers, pools or databases, with include and exclude rules, and jobs run T-SQL steps against each target. Authentication can use a user-assigned managed identity with Entra users on targets, or database-scoped credentials. Azure Automation runbooks, Logic Apps and Azure Functions handle tasks outside T-SQL, such as scaling or exporting. Azure Monitor alerts with action groups send email, SMS or webhooks. Troubleshooting checks job execution history, target connectivity, identity permissions and firewall access.
How it shows up
Expect fleet-wide maintenance on Azure SQL Database, scheduled scaling, or alerts that never reached the on-call team.
Common confusion
Thinking an elastic job runs on Managed Instance targets; elastic jobs target Azure SQL Database.

High-yield concepts

The terms, rules and formulas this domain turns into questions most often.

  • SQL Server Agent

    Job scheduler built into SQL Server.

    Remember
    Available on VMs and Managed Instance only.
    Tested as
    Platform questions.
    Trap
    Proposing it for Azure SQL Database.
  • Operator

    Notification recipient for Agent jobs and alerts.

    Remember
    Requires Database Mail for email.
    Tested as
    Notification questions.
    Trap
    Forgetting to enable the mail profile for Agent.
  • Agent alert

    Response to an error, severity or performance condition.

    Remember
    Can notify operators or run a job.
    Tested as
    Monitoring questions.
    Trap
    Confusing it with job notifications.
  • Job history

    Records of job runs in msdb.

    Remember
    First stop for troubleshooting.
    Tested as
    Failure diagnosis questions.
    Trap
    Ignoring history retention limits.
  • Bicep

    Declarative language that compiles to ARM templates.

    Remember
    Same deployment engine as ARM.
    Tested as
    Infrastructure as code questions.
    Trap
    Thinking it needs a separate service.
  • Deployment mode

    Incremental or complete for ARM deployments.

    Remember
    Complete removes unlisted resources.
    Tested as
    Template questions.
    Trap
    Choosing complete by accident.
  • What-if

    Preview of changes before deploying.

    Remember
    Reduces risk of unwanted changes.
    Tested as
    Safe deployment questions.
    Trap
    Skipping it before complete mode.
  • Azure CLI and PowerShell

    Scripted resource management.

    Remember
    az sql db create and New-AzSqlDatabase.
    Tested as
    Script completion questions.
    Trap
    Mixing cmdlet and CLI syntax.
  • Elastic job agent

    Azure resource that runs jobs across Azure SQL databases.

    Remember
    Stores state in a job database.
    Tested as
    Fleet maintenance questions.
    Trap
    Expecting Agent-style schedules on Managed Instance.
  • Target group

    Set of servers, pools or databases for a job.

    Remember
    Supports include and exclude members.
    Tested as
    Scope questions.
    Trap
    Listing databases one by one when a server target suffices.
  • Azure Automation runbook

    PowerShell or Python script run on a schedule.

    Remember
    Good for scaling or management tasks.
    Tested as
    Automation choice questions.
    Trap
    Using it for heavy T-SQL across many databases.
  • Action group

    Azure Monitor notification and action list.

    Remember
    Reused by many alerts.
    Tested as
    Alerting questions.
    Trap
    Creating an alert without an action group.

Side by side

Concepts candidates mix up, compared on the point that decides the answer.

Scheduling options by platform

ConceptMeaningKey differenceCommon trap
SQL Server Agent Built-in jobs on VMs and Managed Instance Full job, alert and operator model Selecting it for Azure SQL Database
Elastic jobs Cross-database T-SQL jobs for Azure SQL Database Scales across servers and pools Targeting Managed Instance
Azure Automation Scheduled runbooks Manages resources and runs scripts Using it for large T-SQL fleets

Deployment tools

ConceptMeaningKey differenceCommon trap
ARM template JSON declarative definition Native, verbose Editing JSON by hand without validation
Bicep Concise declarative language Compiles to ARM Assuming different resource capabilities
PowerShell or CLI Imperative scripts Good for quick or procedural tasks Losing idempotency compared with templates

Exam traps

Each trap is an answer that looks right. Learn the clue that should change your mind.

  1. Agent everywhere

    What candidates pick
    Create a SQL Server Agent job to rebuild indexes on Azure SQL Database.
    Why it looks right
    Agent is the default on-premises answer.
    Why it's wrong
    Azure SQL Database has no Agent; use elastic jobs or an external scheduler.

    Clue to watch for The platform is Azure SQL Database or an elastic pool.

  2. Elastic jobs for Managed Instance

    What candidates pick
    Use elastic jobs to schedule tasks on Managed Instance.
    Why it looks right
    Elastic jobs sound cross-platform.
    Why it's wrong
    Managed Instance has SQL Server Agent built in, which is the simpler native choice.

    Clue to watch for The targets are managed instances.

  3. Portal for repeatability

    What candidates pick
    Click through the portal to create identical test environments each sprint.
    Why it looks right
    The portal is easy.
    Why it's wrong
    Manual steps drift; templates or scripts deliver repeatable, reviewable deployments.

    Clue to watch for Words like repeatable, consistent or many environments.

  4. Notification without mail

    What candidates pick
    Add a notification to the job and expect emails.
    Why it looks right
    The job setting looks complete.
    Why it's wrong
    Agent needs Database Mail enabled and an operator assigned for notifications to send.

    Clue to watch for Job fails but no email arrives.

  5. Credentials missing

    What candidates pick
    Blame the T-SQL when an elastic job fails on some targets.
    Why it looks right
    The script is the visible part.
    Why it's wrong
    Failures on certain targets usually come from missing users, permissions or firewall access.

    Clue to watch for Only some databases in the target group fail.

Answer framework

Use these steps to pick and troubleshoot an automation approach in a DP-300 scenario.

  1. Identify the platform: VMs and Managed Instance have SQL Server Agent, while Azure SQL Database needs elastic jobs or Azure services such as Automation runbooks.
  2. Classify the task as T-SQL inside databases, resource management such as scaling, or new environment deployment.
  3. Choose the tool: Agent or elastic jobs for T-SQL, Automation or Logic Apps for resources, Bicep or ARM for deployments.
  4. Configure notifications through Database Mail and operators for Agent, or Azure Monitor alerts with action groups for Azure services, and confirm the right team receives them.
  5. When something fails, read job or deployment history first, then check identities, permissions, schedules and network access on every target that failed.

Practice question

Your team deploys identical Azure SQL logical servers and databases for each new customer. Deployments must be repeatable, reviewable in source control and must not remove existing resources in the target resource group. What should you use?

Choose one answer

Want more like this? The DP-300 practice test has questions for every domain.

Checklist

0 of 12

Tick each one you can do without notes. Your ticks stay in this browser.

Study strategy

Begin with the platform rule: Agent on VMs and Managed Instance, elastic jobs and Azure services for Azure SQL Database. Write it at the top of your notes, because it eliminates wrong answers in many questions.

Then practice each tool briefly. On a Managed Instance or a SQL Server VM, create a job with two steps and a schedule, set up Database Mail and an operator, and force a failure to see the email and the job history. Deploy a logical server and database with a short Bicep file, run what-if, then repeat the deployment with the Azure CLI and PowerShell so you can recognize each syntax.

Next, create an elastic job agent with a job database, a target group that includes a server and excludes one database, and a T-SQL job. Use a user-assigned managed identity and grant it access on the targets. Close with Azure Monitor alerts and action groups, and review a failed deployment's error details in the portal.

FAQ

How much of DP-300 is Domain 4, Configure and manage automation of tasks?

Microsoft weights it at 15–20%, with three functional groups: SQL Server Agent jobs, automated deployment, and database tasks in Azure.

Is SQL Server Agent available in Azure SQL Database?

No. Agent runs on SQL Server VMs and Azure SQL Managed Instance. For Azure SQL Database, use elastic jobs or Azure automation services.

What do elastic jobs need?

An elastic job agent, a job database in Azure SQL Database, target groups, and an identity or credential with permissions on each target database.

Do I need to write Bicep from scratch?

Rarely. You should read templates, recognize resource types and properties, and complete missing parts in a scenario.

How do Agent notifications send email?

Through Database Mail with a configured profile and an operator assigned to the job or alert.

Where do I find why a deployment failed?

In the resource group deployment history and activity log, which show the failing resource and error code.

Other Data & Analytics certifications

Where the same subject shows up in other exams. Cards marked "Same subject" open the matching domain.

Test your Domain 4 knowledge

You have covered SQL Server Agent, deployment templates and scripts, elastic jobs and alerting. Check whether you can choose the right automation tool for each platform.

Keep going