Microsoft рад представить превью SQL Server Agent на Linux в SQL Server vNext Community Technology Preview (CTP) 1.4.
SQL Server Agent — компонент, который позволяет создавать расписания для административных задач, данные расписания называются «jobs». Jobs состоят из одного или более шагов, каждый из которых может выполнять свою собственную работу. Jobs можно запустить в любой момент, не дожидаясь очередного времени запуска. Например, вы можете захотеть таким образом автоматизировать такие задачи как резервное копирование, обслуживание индексов и статистики.
SQL Server Agent доступен на Ubuntu, RedHat Enterprise Linux, и SUSE Linux Enterprise Server (инструкция по установке). После установки, у вас появится возможность создавать задания через GUI или команды.
Примеры:
- Создание job
CREATE DATABASE SampleDB ; USE msdb ; GO EXEC dbo.sp_add_job @job_name = N’Daily SampleDB Backup’ ; GO
- Добавление шагов к job
EXEC 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 ; GO
- Создание расписания
EXEC dbo.sp_add_schedule @schedule_name = N’Daily SampleDB’, @freq_type = 4, @freq_interval = 1, @active_start_time = 233000 ; USE msdb ; GO
- Прикрепление расписания к job
EXEC sp_attach_schedule @job_name = N’Daily SampleDB Backup’, @schedule_name = N’Daily SampleDB’; GO EXEC dbo.sp_add_jobserver @job_name = N’Daily SampleDB Backup’, @server_name = N'(LOCAL)’; GO
- Запуск job
EXEC dbo.sp_start_job N’ Daily SampleDB Backup’ ; GO
Ограничения
- Subsystems: CmdExec, PowerShell, Replication Distributor, Snapshot, Merge, Queue Reader, SSIS, SSAS, SSRS
- Alerts
- DB Mail
- Log Shipping
- Log Reader Agent
- Change Data Capture