Você está na página 1de 4

11/07/2023, 14:38 Explorar trabalhos elásticos - Training | Microsoft Learn

R Anterior Unidade 2 de 9 S Avançar T

" 100 XP

Explorar trabalhos elásticos


5 minutos

Um dos motivos pelos quais vários DBAs se tornaram tão familiarizados com o serviço de
Automação do Azure é o fato do Banco de Dados SQL do Azure não ter tido no início
funcionalidades para executar trabalhos agendados.

O recurso de trabalhos elásticos permite executar um conjunto de scripts T-SQL em uma


coleção de servidores ou bancos de dados como um trabalho único ou usando um
agendamento definido. Os trabalhos elásticos funcionam de modo semelhante aos trabalhos
do SQL Server Agent, exceto pelo fato de que eles estão limitados a executar o T-SQL. Os
trabalhos funcionam em todos os níveis do Banco de Dados SQL do Azure. Os trabalhos do
SQL Agent continuam a ser usados para automação de tarefas no SQL Server e também estão
incluídos nas Instâncias Gerenciadas de SQL do Azure.

Para configurar Trabalhos Elásticos, será preciso obter um Agente de Trabalho e um banco de
dados dedicados ao gerenciamento dos trabalhos. O nível de serviço recomendado para o
banco de dados de trabalhos é S1 ou superior, e o nível de serviço ideal dependerá do
número de trabalhos que você está executando e da frequência desses trabalhos.

Vamos examinar os componentes de trabalhos elásticos:

Agente de trabalho elástico – seu recurso do Azure para executar e gerenciar trabalhos.
Banco de dados de trabalho – um banco de dados dedicado a gerenciar seus trabalhos.

https://learn.microsoft.com/pt-br/training/modules/manage-azure-paas-resources-using-automated-methods/2-explore-elastic-jobs 1/4
11/07/2023, 14:38 Explorar trabalhos elásticos - Training | Microsoft Learn

Grupo de destino – uma coleção de servidores, pools elásticos e bancos de dados


individuais nos quais um trabalho será executado.
Trabalho – um ou mais scripts T-SQL que compõem uma etapa de trabalho.

Caso um servidor ou pool elástico seja o destino, uma credencial deverá ser criada dentro do
banco de dados mestre do servidor ou pool para que o agente de trabalho possa enumerar
bancos de dados dentro dele. Somente uma credencial do banco de dados será necessária
para obter um banco de dados individual. As credenciais devem ter os privilégios mínimos
necessários para executar a etapa do trabalho.

Você pode criar um agente de trabalho elástico por meio do portal do Azure. Na página
Agente de trabalho elástico, forneça um nome para seu agente e especifique um banco de
dados SQL para seu banco de dados de trabalho.

Você pode criar um grupo de destino usando o PowerShell ou o T-SQL. O trecho a seguir cria
o grupo de destino MyServerGroup, incluindo todos os bancos de dados que existem no
servidor no momento da execução. Este trecho de código assume que a variável $jobAgent e
a variável $targetServerName foram fornecidas anteriormente.

PowerShell

https://learn.microsoft.com/pt-br/training/modules/manage-azure-paas-resources-using-automated-methods/2-explore-elastic-jobs 2/4
11/07/2023, 14:38 Explorar trabalhos elásticos - Training | Microsoft Learn

# create MyServerGroup target group


$serverGroup = $jobAgent | New-AzSqlElasticJobTargetGroup -Name 'MyServerGroup'

$serverGroup | Add-AzSqlElasticJobTarget -ServerName $targetServerName -Refresh‐


CredentialName $masterCred.CredentialName

O trecho de código abaixo cria um trabalho elástico e adiciona etapas de trabalho usando o
PowerShell. O Step1 é responsável por criar a tabela MyTable caso ela exista.

PowerShell

Write-Output "Creating a new job..."


$jobName = "MyFirstElasticJob"
$job = $jobAgent | New-AzSqlElasticJob -Name $jobName -RunOnce

Write-Output "Creating job steps for $($jobName) job..."


$sqlText1 = "IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id =
object_id('MyTable')) CREATE TABLE [dbo].[MyTable]([Id] [int] NOT NULL);"

$job | Add-AzSqlElasticJobStep -Name "Step1" -TargetGroupName


$serverGroup.TargetGroupName -CredentialName $jobCred.CredentialName -Command‐
Text $sqlText1

Como podemos observar acima, os scripts T-SQL executados por trabalhos elásticos deverão
ser idempotentes, ou seja, caso o trabalho seja executado várias vezes, por acidente ou devido
a uma falha, não haverá falhas no trabalho nem ele vai gerar resultados não intencionais. Você
deverá ser capaz de executar o mesmo script várias vezes sem a ocorrência de falhas.

Por fim, execute o trabalho elástico MyFirstElasticJob usando o PowerShell.

PowerShell

Write-Output "Start the job..."


$jobExecution = $job | Start-AzSqlElasticJob
$jobExecution

Cenários de caso de uso


Trabalhos elásticos podem ser usados nos seguintes cenários:

Automatizar tarefas de gerenciamento a serem executadas em uma agenda específica


Aplicar alterações de esquema
Movimentações de dados

https://learn.microsoft.com/pt-br/training/modules/manage-azure-paas-resources-using-automated-methods/2-explore-elastic-jobs 3/4
11/07/2023, 14:38 Explorar trabalhos elásticos - Training | Microsoft Learn

Coletar e agregar dados para relatórios ou outras finalidades


Carregar dados do Armazenamento de Blobs do Azure
Configurar trabalhos para serem executados em um conjunto de bancos de dados de
modo recorrente, por exemplo, fora dos horários de pico
Processamento de dados em um grande número de bancos de dados, por exemplo,
coleta de telemetria. Os resultados são então coletados em uma única tabela de destino
para análise posterior.

Unidade seguinte: Entender a Automação do Azure

Continuar T

https://learn.microsoft.com/pt-br/training/modules/manage-azure-paas-resources-using-automated-methods/2-explore-elastic-jobs 4/4

Você também pode gostar