A seção de automação do exame DP-300 pergunta "qual ferramenta pertence a qual modelo de implantação." A linha divisória entre o SQL Server Agent no Managed Instance e o Elastic Jobs no Azure SQL Database é o eixo central do exame. ARM/Bicep, Azure PowerShell, Azure CLI e Azure Automation ocupam papéis distintos, e saber quando escolher cada um separa as respostas corretas das armadilhas frequentes.
SQL Server Agent — O Assistente Exclusivo da Sede
Imagine um assistente pessoal que conhece a fundo a agenda do diretor e resolve cada tarefa, mas que nunca viaja para as filiais. Isso é o SQL Server Agent. Ele existe somente no Azure SQL Managed Instance e no SQL Server em Azure Virtual Machines. O Azure SQL Database não o suporta, e esse limite é o dado mais avaliado sobre o SQL Server Agent no DP-300.
Os componentes essenciais são quatro: (unidade de trabalho), (tarefas individuais em sequência, com tipo T-SQL, PowerShell, SSIS ou CmdExec), (quando o Job roda) e (quem recebe notificações).
O Database Mail fecha o ciclo de alertas. Configure um perfil SMTP, vincule a uma Agent Alert, e qualquer Job com falha envia e-mail ao Operator automaticamente. Toda a metadata fica no banco de dados de sistema . As contas Proxy permitem Steps com credenciais de menor privilégio, mas se aplicam apenas a subsistemas externos (CmdExec, PowerShell, SSIS) — não a Steps T-SQL.
Elastic Jobs — O Supervisor Regional
Gerenciar um único escritório é simples. Distribuir a mesma lista de verificação para cem filiais e coletar resultados em paralelo é um desafio diferente. O Elastic Jobs executa scripts T-SQL em múltiplos Azure SQL Databases, Elastic Pools e servidores simultaneamente. Funciona exclusivamente no ecossistema do Azure SQL Database — Managed Instance e SQL on VM não são suportados.
Três componentes compõem o Elastic Jobs. O armazena definições e histórico de execuções. O define quais bancos (individuais, Elastic Pools ou servidores inteiros) recebem o trabalho, com controle de inclusão e exclusão. O orquestra tudo.
Com o SQL Server Agent você acessaria cada banco individualmente. O Elastic Jobs registra todos em um target group e dispara um único Job em paralelo. As falhas são registradas por banco de dados, permitindo reexecutar apenas os que falharam.
Templates ARM e Bicep — Construindo a partir de Plantas
Quando uma equipe segue as mesmas plantas, todos os edifícios saem idênticos. Quando improvisam, diferenças se acumulam. Os templates ARM e o Bicep são as plantas da infraestrutura Azure.
Um template ARM declara recursos em JSON. Você declara o estado desejado e o Azure Resource Manager analisa dependências e implanta na ordem correta. A vantagem principal é a idempotência: o mesmo template executado várias vezes sempre produz o mesmo resultado. Falhas parciais e novas tentativas só criam o que falta. Os templates se integram ao GitHub Actions ou Azure Pipelines como etapas de implantação.
O Bicep é a linguagem oficial para ARM. Usa cerca de 40% menos linhas e compila para ARM JSON. DACPAC empacota apenas o esquema; BACPAC empacota esquema e dados. Ambos aparecem em cenários de automação com ARM e Bicep.
Azure PowerShell e Azure CLI — Ferramentas de Comando Imediato
Se os templates ARM declaram o que deve existir, Azure PowerShell e Azure CLI emitem comandos imperativos imediatos: "crie este recurso agora."
O módulo oferece cmdlets como , e . O pipeline de objetos do PowerShell é ideal para fluxos complexos. O grupo da Azure CLI entrega as mesmas funcionalidades multiplataforma — Windows, macOS e Linux — tornando-o adequado para agentes CI/CD e runners do GitHub Actions.
Ambas as ferramentas suportam autenticação não interativa via Service Principals ou Managed Identities. Definir um grupo padrão com elimina em comandos subsequentes; a configuração persiste em .
Azure Automation — Orquestração no Mundo Híbrido
Quando ainda existem servidores locais mas é preciso a mesma automação em todos os lugares, o Azure Automation cobre essa lacuna.
Os são scripts PowerShell ou Python agendados na nuvem ou ativados por eventos. O estende a execução a servidores locais ou VMs em outras nuvens, dentro de datacenters protegidos por firewall. Ao contrário do SQL Server Agent ou Elastic Jobs, o Azure Automation é um orquestrador externo. Inclui , e para rastreamento de patches, detecção de desvios e estado declarativo dos servidores.
Guia de Decisão — Quando Usar Cada Ferramenta
Uma boa caixa de ferramentas tem martelo e chave de fenda, mas usar o martelo em um parafuso é um erro. Conhecer o limite de cada ferramenta é essencial para o DP-300 e para a automação real.
: apenas Managed Instance e SQL on VM. Jobs T-SQL na instância, manutenção noturna, alertas Database Mail : apenas Azure SQL Database. Execução T-SQL simultânea em múltiplos DBs, Pools e Servidores : todos os recursos Azure. IaC declarativa, consistência de ambiente, integração GitHub Actions : todos os recursos Azure. Scripting imperativo, etapas de pipeline CI/CD : nuvem e local. Runbooks, Hybrid Worker, DSC
Armadilhas Frequentes — Onde os Candidatos Erram
"Implantar esquema em vários Azure SQL Databases simultaneamente" é uma armadilha clássica. O SQL Server Agent não ultrapassa o limite da instância — a resposta correta é Elastic Jobs.
O inverso também engana: "Job de reconstrução de índices no Managed Instance" com Elastic Jobs está errado, pois Elastic Jobs só suporta Azure SQL Database. Para implantações repetidas, use ARM/Bicep. Para uma alteração imediata num recurso existente, basta um comando Azure CLI. Combinar ferramentas declarativas e imperativas é o padrão real que o exame reflete.
Resumo do Exame
"Job de manutenção noturna de índices no Managed Instance" -- SQL Server Agent "Instalar SQL Server Agent no Azure SQL Database" -- Não é possível (Database não é suportado) "Executar ALTER TABLE em 100 bancos de dados de tenant ao mesmo tempo" -- Elastic Jobs "Histórico de execução de Jobs" -- msdb (Agent) / Job database (Elastic Jobs) "IaC declarativa com idempotência" -- Template ARM / Bicep "O que o Bicep compila" -- ARM JSON "Criar servidor SQL automaticamente no GitHub Actions" -- Azure PowerShell ou Azure CLI "Runbook em SQL Server local" -- Azure Automation Hybrid Runbook Worker "Perfil SMTP do Database Mail, sp_send_dbmail" -- SQL Server Agent (somente MI/VM) "DACPAC vs BACPAC" -- DACPAC = esquema, BACPAC = esquema + dados
SQL Server Agent = exclusivo de Managed Instance e SQL on VM, Elastic Jobs = somente Azure SQL Database