sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true sudo systemctl restart mssql-server
备注:从 SQL Server 2017 CU4 开始,SQL Server 代理是附带mssql server打包并默认处于禁用状态。sql
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -Q 'CREATE DATABASE SampleDB' /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -Q 'SELECT Name FROM sys.Databases'
1. 使用sp_add_job若要建立一个名为做业Daily SampleDB Backup。数据库
-- Adds a new job executed by the SQLServerAgent service -- called 'Daily SampleDB Backup' USE msdb ; GO EXEC dbo.sp_add_job @job_name = N'Daily SampleDB Backup' ; GO
2. 调用sp_add_jobstep若要建立的备份建立的做业步骤SampleDB数据库。bash
-- Adds a step (operation) to the 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
3. 而后建立与做业的每日计划sp_add_schedule。服务器
-- Creates a schedule called 'Daily' EXEC dbo.sp_add_schedule @schedule_name = N'Daily SampleDB', @freq_type = 4, @freq_interval = 1, @active_start_time = 233000 ; USE msdb ; GO
4. 将做业计划附加到做业sp_attach_schedule。ide
-- Sets the 'Daily' schedule to the 'Daily SampleDB Backup' Job EXEC sp_attach_schedule @job_name = N'Daily SampleDB Backup', @schedule_name = N'Daily SampleDB'; GO
5. 使用sp_add_jobserver若要将做业分配到目标服务器。 在此示例中,目标是本地服务器。3d
EXEC dbo.sp_add_jobserver @job_name = N'Daily SampleDB Backup', @server_name = N'(LOCAL)'; GO
6. 启动的做业sp_start_job。代理
EXEC dbo.sp_start_job N' Daily SampleDB Backup' ; GO
1. 在 Windows 上启动 SSMS 并链接到 Linux SQL Server 实例。rest
2. 验证是否已建立一个名为的示例数据库SampleDB。server
3. 验证 SQL 代理是否安装并正确配置。 查找在对象资源管理器中的 SQL Server 代理旁边的加号。 若是未启用 SQL Server 代理,请尝试从新启动mssql server Linux 上的服务。对象
4. 新建做业。
5. 指定做业名称并建立做业步骤。
6. 指定要使用的子系统和应执行的做业步骤。
7. 新建做业计划。
8. 启动做业。