1. 程式人生 > >在Linux上創建和運行SQL Server 2017代理作業

在Linux上創建和運行SQL Server 2017代理作業

sample 12c 目標 c2c call 執行 attach vpd 安裝

啟用SQL Server代理

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true

sudo systemctl restart mssql-server

備註:從 SQL Server 2017 CU4 開始,SQL Server 代理是附帶mssql server打包並默認處於禁用狀態。


創建示例數據庫

/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‘


使用 Transact-SQL 創建作業

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數據庫。

-- 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。

-- 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若要將作業分配到目標服務器。 在此示例中,目標是本地服務器。

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

使用 SSMS 創建作業

1. 在 Windows 上啟動 SSMS 並連接到 Linux SQL Server 實例。

2. 驗證是否已創建一個名為的示例數據庫SampleDB。

技術分享圖片

3. 驗證 SQL 代理是否安裝並正確配置。 查找在對象資源管理器中的 SQL Server 代理旁邊的加號。 如果未啟用 SQL Server 代理,請嘗試重新啟動mssql server Linux 上的服務。

技術分享圖片

4. 新建作業。

技術分享圖片

5. 指定作業名稱並創建作業步驟。

技術分享圖片

6. 指定要使用的子系統和應執行的作業步驟。

技術分享圖片

技術分享圖片

7. 新建作業計劃。

技術分享圖片

技術分享圖片

8. 啟動作業。

技術分享圖片

在Linux上創建和運行SQL Server 2017代理作業