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.
Aplica-se a:SQL Server no Linux
SQL Server Jobs são usados para realizar regularmente a mesma sequência de comandos em seu banco de dados SQL Server. Este tutorial fornece um exemplo de como criar um trabalho de SQL Server Agent no Linux usando Transact-SQL e SQL Server Management Studio (SSMS).
- Instalar SQL Server Agent no Linux
- Criar um novo trabalho para executar backups diários de banco de dados
- Agendar e executar o trabalho
- Executar as mesmas etapas no SSMS (opcional)
Para problemas conhecidos com SQL Server Agent no Linux, consulte SQL Server em Linux: problemas conhecidos.
Pré-requisitos
Os pré-requisitos a seguir são necessários para concluir esse tutorial:
Computador Linux com os seguintes pré-requisitos:
- Quickstart: instalar SQL Server e criar um banco de dados no Red Hat Enterprise Linux
- Quickstart: instalar SQL Server e criar um banco de dados no SUSE Linux Enterprise Server
- Quickstart: instale SQL Server e crie um banco de dados no Ubuntu com ferramentas de linha de comando.
Observação
A partir do SQL Server 2025 (17.x), não há suporte para SLES (SUSE Linux Enterprise Server).
Os seguintes pré-requisitos são opcionais:
- Computador Windows com SSMS
- Instalar SQL Server Management Studio para etapas opcionais do SSMS.
Habilitar SQL Server Agent
Para usar SQL Server Agent no Linux, primeiro você deve habilitar SQL Server Agent em um computador que já tenha SQL Server instalado.
Para habilitar SQL Server Agent, execute o comando a seguir.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueReinicie SQL Server com o seguinte comando:
sudo systemctl restart mssql-server
Observação
A partir do SQL Server 2017 (14.x) CU 4, o SQL Server Agent está incluído no pacote mssql-server e fica desabilitado por padrão. Para configurar o Agente antes do CU 4, consulte Instalar SQL Server Agent no Linux.
Criar banco de dados de exemplo
Use as etapas a seguir para criar um banco de dados de exemplo chamado SampleDB. Esse banco de dados é usado para o trabalho de backup diário.
Em seu computador Linux, abra uma sessão de terminal Bash.
Use sqlcmd para executar um comando Transact-SQL
CREATE DATABASE./opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'CREATE DATABASE SampleDB'Verifique se o banco de dados é criado listando os bancos de dados no servidor.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Criar um trabalho com Transact-SQL
As etapas a seguir criam um trabalho SQL Server Agent no Linux com comandos Transact-SQL. O trabalho executa um backup diário do banco de dados de exemplo, SampleDB.
Dica
Você pode usar qualquer cliente T-SQL para executar esses comandos. Por exemplo, no Linux, você pode usar as ferramentas de linha de comando sqlcmd e bcp do SQL Server no Linux ou a extensão do SQL Server para o Visual Studio Code. Em um Windows Server remoto, você também pode executar consultas no SSMS (SQL Server Management Studio) ou usar a interface da interface do usuário para gerenciamento de trabalho, que é descrita na próxima seção.
Use sp_add_job para criar um trabalho chamado
Daily SampleDB Backup.-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb; GO EXECUTE dbo.sp_add_job @job_name = N'Daily SampleDB Backup'; GOChame sp_add_jobstep para criar uma etapa de trabalho que cria um backup do banco de dados
SampleDB.EXECUTE sp_add_jobstep @job_name = N'Daily SampleDB Backup', @step_name = N'Backup database', @subsystem = N'TSQL', @command = N'BACKUP DATABASE SampleDB TO DISK = \ N''/var/opt/mssql/data/SampleDB.bak'' WITH NOFORMAT, NOINIT, \ NAME = ''SampleDB-full'', SKIP, NOREWIND, NOUNLOAD, STATS = 10', @retry_attempts = 5, @retry_interval = 5; GOEm seguida, crie um agendamento diário para seu trabalho com sp_add_schedule.
-- Creates a schedule called 'Daily' EXECUTE dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000; USE msdb; GOAnexe a agenda de trabalho ao trabalho com sp_attach_schedule.
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXECUTE sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GOUse sp_add_jobserver para atribuir o trabalho a um servidor de destino. Neste exemplo, o destino é o servidor local.
EXECUTE dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(local)'; GOInicie o trabalho com sp_start_job.
EXECUTE dbo.sp_start_job N' Daily SampleDB Backup'; GO
Criar um trabalho com o SSMS
Você também pode criar e gerenciar trabalhos remotamente usando SQL Server Management Studio (SSMS) no Windows.
Inicie o SSMS no Windows e conecte-se à instância do linux SQL Server. Para obter mais informações, consulte Use SQL Server Management Studio no Windows para gerenciar SQL Server em Linux.
Verifique se você criou um banco de dados de exemplo chamado
SampleDB.Verifique se o SQL Agent está Install SQL Server Agent on Linux e configurado corretamente. Procure o sinal de mais ao lado de SQL Server Agent no "Pesquisador de Objetos". Se SQL Server Agent não estiver habilitado, tente reiniciar o serviço mssql-server no Linux.
Criar um novo trabalho.
Dê um nome ao seu trabalho e crie sua etapa de trabalho.
Especifique que subsistema você deseja usar e o que a etapa de trabalho deve fazer.
Crie uma nova agenda de trabalho.
Inicie seu trabalho.
Próxima etapa
Neste tutorial, você aprendeu a:
- Instalar SQL Server Agent no Linux
- Usar Transact-SQL e procedimentos armazenados do sistema para criar trabalhos
- Criar um trabalho que executa backups diários de banco de dados
- Usar a interface do usuário do SSMS para criar e gerenciar trabalhos
Em seguida, explore outros recursos para criar e gerenciar trabalhos: