sql >> Databasteknik >  >> RDS >> Sqlserver

Hur startar jag SQL Server-jobb från en lagrad procedur?

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

ELLER utan parameter:

-- 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:Du kan använda detta INNAN du startar OM du inte vill starta jobbet OM det körs för närvarande, arbeta detta i din lagrade 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


  1. Att förstå hur man optimerar en fråga via Postgres/rails förklarar data

  2. Formatera ett tal som en procentandel i MySQL

  3. Hur kan jag köra en mysql-fråga när användaren väljer ett nytt alternativ i ett urvalsfält?

  4. Konvertera LONG till varchar i Oracle