Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O SQL Server Agent é um serviço do Microsoft Windows que executa tarefas administrativas agendadas, que são chamadas de trabalhos no SQL Server 2014.
Nesse Tópico
Benefícios do SQL Server Agent
O SQL Server Agent usa o SQL Server para armazenar informações de trabalho. Os trabalhos contêm uma ou mais etapas de trabalho. Cada etapa contém sua própria tarefa; por exemplo, fazer o backup de um banco de dados.
O SQL Server Agent pode executar um trabalho com base em um agendamento, em resposta a um evento específico ou sob demanda. Por exemplo, se desejar fazer o backup de todos os servidores da empresa todo dia após o expediente, você pode automatizar essa tarefa. Agende o backup para ser executado após as 22h de segunda a sexta-feira; se o backup encontrar um problema, o SQL Server Agent poderá registrar o evento e notificá-lo.
Observação
Por padrão, o serviço SQL Server Agent é desabilitado quando o SQL Server 2014 é instalado, a menos que o usuário opte explicitamente por iniciar o serviço automaticamente.
Componentes do SQL Server Agent
O SQL Server Agent usa os componentes a seguir para definir as tarefas a serem executadas, quando executá-las e como relatar os sucessos ou as falhas a elas relacionados.
Trabalhos
Um trabalho é uma série específica de ações que o SQL Server Agent executa. Use tarefas para definir uma tarefa administrativa que pode ser executada uma ou mais vezes e monitorada para verificar êxito ou falha. Um trabalho pode ser executado em um servidor local ou em vários servidores remotos.
Importante
As tarefas do SQL Server Agent que estiverem em execução no momento de um evento de failover em uma instância de cluster de failover do SQL Server não serão retomadas após o failover para outro nó de cluster de failover. Os trabalhos do SQL Server Agent que estiverem em execução no momento de uma pausa em um nó de Hyper-V não serão retomados se a pausa causar um failover em outro nó. Os trabalhos que começam, mas não são concluídos por causa de um evento de failover, são registrados em log como iniciados, mas não mostram entradas de log adicionais referentes a conclusão ou falha. Os trabalhos do SQL Server Agent nesses cenários parecem nunca ter fim.
Os trabalhos podem ser executados de várias maneiras:
De acordo com uma ou mais agendas.
Em resposta a um ou mais alertas.
Executando o procedimento armazenado sp_start_job.
Cada ação em um trabalho é uma etapa de trabalho. Por exemplo, uma etapa de trabalho pode consistir na execução de uma instrução Transact-SQL, na execução de um pacote do SSIS ou na emissão de um comando para um servidor do Analysis Services. As etapas de uma tarefa são gerenciadas como parte do mesmo trabalho.
Cada etapa de trabalho é executada em um contexto de segurança específico. Para etapas de trabalho que usam Transact-SQL, use a instrução EXECUTE AS para definir o contexto de segurança da etapa de trabalho. Para outros tipos de etapas de trabalho, use uma conta proxy para definir o contexto de segurança para a etapa de trabalho.
Horários
Uma agenda especifica quando executar um trabalho. Mais de um trabalho pode ser executado na mesma agenda e mais de uma agenda pode ser aplicada ao mesmo trabalho. Uma agenda pode definir as condições a seguir para a hora em que um trabalho é executado:
Sempre que o SQL Server Agent inicia.
Sempre que a utilização da CPU do computador estiver em um nível definido como ocioso.
Uma vez, em uma data e hora específicas.
Em um cronograma recorrente.
Para obter mais informações, veja Criar e anexar agendamentos a trabalhos.
Alertas
Um alerta é uma resposta automática a um evento específico. Por exemplo, um evento pode ser um trabalho que se inicia ou recursos do sistema que atingem um limite específico. É você quem define as condições sob as quais deve ocorrer um alerta.
Um alerta pode responder a uma das seguintes condições:
SQL Server eventos
SQL Server condições de desempenho
Eventos da Instrumentação de Gerenciamento do Windows (WMI) no computador em que o SQL Server Agent está sendo executado
Um alerta pode executar as seguintes ações:
Notificar um ou mais operadores
Executar um trabalho
Para obter mais informações, veja Alertas.
Operadores
Um operador define as informações de contato de um indivíduo responsável pela manutenção de uma ou mais instâncias do SQL Server. Em algumas empresas, as responsabilidades de operador são atribuídas a um indivíduo. Em empresas com vários servidores, vários indivíduos podem dividir as responsabilidades de operador. Um operador não contém informações de segurança nem define uma entidade de segurança.
O SQL Server pode notificar os operadores de alertas por meio de um ou mais dos seguintes:
Email
Pager (via email)
net send
Observação
Para enviar notificações usando net send, o serviço do Windows Messenger deve estar iniciado no computador em que reside o SQL Server Agent.
Importante
As opções pager e net send serão removidas do SQL Server Agent em uma versão futura do SQL Server. Evite usar esses recursos em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esses recursos.
Para enviar notificações a operadores usando email ou pagers, configure o SQL Server Agent para usar o Database Mail. Para obter mais informações, consulte Database Mail.
Você pode definir um operador como o alias de um grupo de indivíduos. Dessa forma, todos os membros desse alias são notificados ao mesmo tempo. Para obter mais informações, consulte Operadores.
Segurança para administração do SQL Server Agent
O SQL Server Agent usa as funções de banco de dados fixas SQLAgentUserRole, SQLAgentReaderRole e SQLAgentOperatorRole no banco de dados msdb para controlar o acesso ao SQL Server Agent para usuários que não são membros da função de sysadmin servidor fixa. Além dessas funções de banco de dados fixas, subsistemas e proxies ajudam os administradores de bancos de dados a garantir que cada etapa de trabalho seja executada com as permissões mínimas necessárias para realizar sua tarefa.
Funções
Membros das funções de banco de dados fixas SQLAgentUserRole, SQLAgentReaderRole e SQLAgentOperatorRole no msdb e membros da função de sysadmin servidor fixa têm acesso ao SQL Server Agent. Um usuário que não pertence a nenhuma dessas funções não pode usar o SQL Server Agent. Para obter mais informações sobre as funções usadas pelo SQL Server Agent, confira Implementar Segurança do SQL Server Agent.
Subsistemas
Um subsistema é um objeto predefinido que representa a funcionalidade disponível a uma etapa de trabalho. Cada proxy tem acesso a um ou mais subsistemas. Os subsistemas propiciam segurança, porque delimitam o acesso à funcionalidade disponível a um proxy. Cada etapa de trabalho é executada no contexto de um proxy, com exceção das etapas de trabalho do Transact-SQL. Transact-SQL etapas de trabalho usam o comando EXECUTE AS para definir o contexto de segurança.
O SQL Server define os subsistemas listados na seguinte tabela:
| Nome do subsistema | Descrição |
|---|---|
| Script do Microsoft ActiveX | Execução de uma etapa de trabalho do script ActiveX. **Importante** O subsistema de Script ActiveX será removido do SQL Server Agent em uma versão futura do MicrosoftSQL Server. Evite usar esse recurso em um novo trabalho de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. |
| Sistema Operacional (CmdExec) | Execução de um programa executável. |
| PowerShell | Execução de uma etapa de trabalho do script PowerShell. |
| Distribuidor da replicação | Execução de uma etapa de trabalho que ativa o Agente de Distribuição da replicação. |
| Mesclagem da replicação | Execução de uma etapa de trabalho que ativa o Agente de Mesclagem da replicação. |
| Leitor da fila de replicação | Execução de uma etapa de trabalho que ativa o Queue Reader Agent da replicação. |
| Instantâneo da replicação | Execução de uma etapa de trabalho que ativa o Agente de Instantâneo da replicação. |
| Leitor do log de transações da replicação | Execução de uma etapa de trabalho que ativa o Agente de Leitor de Log da replicação. |
| Comando do Analysis Services | Execute um comando do Analysis Services. |
| Consulta do Analysis Services | Execute uma consulta do Analysis Services. |
| Execução do pacote SSIS | Execute um pacote SSIS. |
Observação
Como as etapas de trabalho do Transact-SQL não usam proxy, não há nenhum subsistema do SQL Server Agent para as etapas de trabalho do Transact-SQL.
O SQL Server Agent impõe restrições de subsistema mesmo quando a entidade de segurança do proxy normalmente teria permissão para executar a tarefa na etapa do trabalho. Por exemplo, um proxy para um usuário que é membro da função de servidor fixa sysadmin não pode executar uma etapa de trabalho do SSIS, a menos que o proxy tenha acesso ao subsistema SSIS, mesmo que o usuário possa executar pacotes SSIS.
Proxys
O SQL Server Agent usa proxies para gerenciar contextos de segurança. Um proxy pode ser usado em mais de uma etapa de trabalho. Os membros da sysadmin função de servidor fixa podem criar proxies.
Cada proxy corresponde a uma credencial de segurança. Cada proxy pode ser associado a um conjunto de subsistemas e um conjunto de logons. O proxy só pode ser usado para etapas de trabalho que utilizem um subsistema associado ao proxy. Para criar uma etapa de trabalho que use um proxy específico, o proprietário do trabalho deve usar um logon associado a esse proxy ou ser membro de uma função com acesso irrestrito a proxies. Os membros da sysadmin função de servidor fixa têm acesso irrestrito a proxies. Membros de SQLAgentUserRole, SQLAgentReaderRoleou SQLAgentOperatorRole só podem usar proxies para os quais detém concessão de acesso específica. Cada usuário membro de alguma dessas funções de banco de dados fixas do SQL Server Agent deve ter acesso concedido a proxies específicos para poder criar etapas de trabalho que utilizem esses proxies.
Tarefas Relacionadas
Use as seguintes etapas para configurar o SQL Server Agent a fim de automatizar a administração do SQL Server:
Estabeleça quais tarefas administrativas ou eventos de servidor ocorrem regularmente e se essas tarefas ou eventos podem ser administrados via programação. Uma tarefa é uma boa candidata para automação sempre que envolve uma sequência previsível de etapas e ocorre em um horário específico ou em resposta a um evento específico.
Defina um conjunto de trabalhos, agendamentos, alertas e operadores usando o SQL Server Management Studio, os scripts do Transact-SQL ou o SMO (SQL Server Management Objects). Para obter mais informações, consulte Criar trabalhos.
Execute os trabalhos do SQL Server Agent que você definiu.
Observação
Para a instância padrão do SQL Server, o serviço SQL Server é chamado de SQLSERVERAGENT. Nas instâncias nomeadas, o serviço do SQL Server Agent é denominado SQLAgent$instancename.
Se você estiver executando várias instâncias do SQL Server, poderá usar a administração multisservidor para automatizar tarefas comuns em todas as instâncias. Para obter mais informações, consulte Administração automatizada em toda a empresa.
Use as seguintes tarefas para começar a usar o SQL Server Agent:
| Descrição | Tópico |
| Descreve como configurar o SQL Server Agent. | Configurar o Agente do SQL Server |
| Descreve como iniciar, parar e pausar o serviço do SQL Server Agent. | iniciar, parar ou pausar o serviço do SQL Server Agent |
| Descreve considerações para especificar uma conta para o serviço do SQL Server Agent. | Selecionar uma conta para o Serviço do SQL Server Agent |
| Descreve como usar o log de erros do SQL Server Agent. | Log de erro do SQL Server Agent |
| Descreve como usar objetos de desempenho. | Usar objetos de desempenho |
| Descreve o Assistente de Plano de Manutenção, que é um utilitário que você pode usar para ajudar a criar trabalhos, alertas e operadores para automatizar a administração de uma instância do SQL Server. | Usar o Assistente de Plano de Manutenção |
| Descreve como automatizar tarefas administrativas usando o SQL Server Agent. | Tarefas de administração automatizadas (SQL Server Agent) |