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.
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
| Concept | Meaning | Key difference | Common 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
| Concept | Meaning | Key difference | Common 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.
-
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.
-
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.
-
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.
-
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.
-
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.
- 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.
- Classify the task as T-SQL inside databases, resource management such as scaling, or new environment deployment.
- Choose the tool: Agent or elastic jobs for T-SQL, Automation or Logic Apps for resources, Bicep or ARM for deployments.
- 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.
- When something fails, read job or deployment history first, then check identities, permissions, schedules and network access on every target that failed.
Practice question
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
- Training Training Built on your Weak areas
- Practice test Questions by domain, with explanations
- Mock exam Full length, timed like the real exam
- Readiness test Find your weakest domain in minutes
- Cheat sheet Key terms and formulas on one page
- Ask the DP-300 AI tutor Get any concept explained your way