Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server em Linux
Os trabalhos do SQL Server são usados para executar regularmente a mesma sequência de comandos no banco de dados do SQL Server. Este tutorial fornece um exemplo de como criar um trabalho do SQL Server Agent no Linux usando o Transact-SQL e o SQL Server Management Studio (SSMS).
- Instalar o SQL Server Agent no Linux
- Criar um novo trabalho para executar backups diários do banco de dados
- Agendar e executar o trabalho
- Execute as mesmas etapas no SSMS (opcional)
Para problemas conhecidos com o SQL Server Agent no Linux, consulte SQL Server no Linux: problemas conhecidos.
Pré-requisitos
Os seguintes pré-requisitos são necessários para concluir este tutorial:
Máquina Linux com os seguintes pré-requisitos:
Os seguintes pré-requisitos são opcionais:
- Máquina Windows com SSMS:
- Instale o SQL Server Management Studio para os passos opcionais do SSMS.
Habilitar o SQL Server Agent
Para usar o SQL Server Agent no Linux, você deve primeiro habilitar o SQL Server Agent em uma máquina que já tenha o SQL Server instalado.
Para habilitar o SQL Server Agent, execute o seguinte comando.
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled trueReinicie o SQL Server com o seguinte comando:
sudo systemctl restart mssql-server
Observação
A partir do SQL Server 2017 (14.x) 4, o SQL Server Agent está incluído no pacote mssql-server e está desabilitado por padrão. Para configurar o Agent antes do CU 4, consulte Instalar o SQL Server Agent no Linux.
Criar um 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.
Na sua máquina 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 foi criado listando os bancos de dados no servidor.
/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -Q 'SELECT name FROM sys.databases'
Crie um trabalho com Transact-SQL
As etapas a seguir criam um trabalho do SQL Server Agent no Linux com comandos Transact-SQL. O trabalho realiza um backup diário da base de dados de exemplo, SampleDB.
Dica
Você pode usar qualquer cliente T-SQL para executar esses comandos. Por exemplo, no Linux você pode usar Instalar as ferramentas de linha de comando sqlcmd e bcp do SQL Server no Linux ou a extensão do SQL Server para Visual Studio Code. Em um Windows Server remoto, você também pode executar consultas no SQL Server Management Studio (SSMS) ou usar a interface da interface do usuário para gerenciamento de tarefas, descrita na próxima seção.
Use sp_add_job para criar uma tarefa chamada
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 crie 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 uma agenda diária para o 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 o cronograma 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 o SQL Server Management Studio (SSMS) no Windows.
Inicie o SSMS no Windows e conecte-se à sua instância do Linux SQL Server. Para obter mais informações, consulte Usar o SQL Server Management Studio no Windows para gerenciar o SQL Server no Linux.
Verifique se você criou um banco de dados de exemplo chamado
SampleDB.Verifique se o SQL Agent foi instalado no Linux e configurado corretamente. Procura o sinal de mais ao lado do SQL Server Agent no Explorador de Objetos. Se o SQL Server Agent não estiver habilitado, tente reiniciar o serviço mssql-server no Linux.
Crie um novo trabalho.
Dê um nome à sua tarefa e crie a sua etapa da tarefa.
Especifique qual subsistema você deseja usar e o que a etapa de trabalho deve fazer.
Crie uma nova agenda de trabalho.
Comece o seu trabalho.
Próximo passo
Neste tutorial, você aprendeu como:
- Instalar o SQL Server Agent no Linux
- Usar Transact-SQL e procedimentos armazenados do sistema para criar tarefas
- Criar um trabalho que execute 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: