2013-04-09 11 views

Odpowiedz

8
-- Create SQL Server Agent job start stored procedure with input parameter 
CREATE PROC uspStartMyJob @MyJobName sysname 
AS 
DECLARE @ReturnCode tinyint -- 0 (success) or 1 (failure) 
EXEC @ReturnCode=msdb.dbo.sp_start_job @[email protected]; 
RETURN (@ReturnCode) 
GO 

lub bez parametru:

-- Create stored procedure to start SQL Server Agent job 
CREATE PROC StartMyMonthlyInventoryJob 
AS 
EXEC msdb.dbo.sp_start_job N'Monthly Inventory Processing'; 
GO 
-- Execute t-sql stored procedure 
EXEC StartMyMonthlyInventoryJob 

EDIT FYI: Możesz użyć tego przed rozpoczęciem Jeśli nie chcesz, aby rozpocząć pracę, jeśli jest to działa obecnie, wykonaj to w swoim zapisanym proc:

-- Get run status of a job 
-- version for SQL Server 2008 T-SQL - Running = 1 = currently executing 
-- use YOUR guid here 
DECLARE @job_id uniqueidentifier = '5d00732-69E0-2937-8238-40F54CF36BB1' 
EXEC master.dbo.xp_sqlagent_enum_jobs 1, sa, @job_id 
2

Utwórz procedurę sklepu i uruchom jo b wewnątrz procesu w następujący sposób:

DECLARE @JobId binary(16) 
SELECT @JobId = job_id FROM msdb.dbo.sysjobs WHERE (name = 'JobName') 

IF (@JobId IS NOT NULL) 
BEGIN 
    EXEC msdb.dbo.sp_start_job @job_id = @JobId; 
END 
Powiązane problemy