(1.2)sql server for linux 開啟代理服務(SQL AGENT),使用T-SQL新建作業


【1】啟用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打包並默認處於禁用狀態。

【2】使用T-SQL創建作業

--創建示例數據庫
--《1》linux環境下創建
--/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'

--《2》登錄上sql server 后創建
CREATE DATABASE SampleDB
GO

SELECT Name FROM sys.Databases
GO

使用 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

【3】使用SSMS創建作業,這個太簡單了,這里就不贅述了

轉自:https://blog.51cto.com/ultrasql/2148934


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM