在Linux上创建和运行SQL Server 2017代理作业

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

clip_image002

3. 验证 SQL 代理是否安装并正确配置。 查找在对象资源管理器中的 SQL Server 代理旁边的加号。 如果未启用 SQL Server 代理,请尝试重新启动mssql server Linux 上的服务。

clip_image004

4. 新建作业。

clip_image006

5. 指定作业名称并创建作业步骤。

clip_image008

6. 指定要使用的子系统和应执行的作业步骤。

clip_image010

clip_image012

7. 新建作业计划。

clip_image014

clip_image016

8. 启动作业。

clip_image017

猜你喜欢

转载自blog.51cto.com/ultrasql/2148934
今日推荐