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. 啓動做業。