• This will give you the name of the login or schedule who invoked the job. I hope this will help

    DECLARE @Schedule_Name_ID nVARCHAR(1000)

    DECLARE @Job_ID nVARCHAR(100)

    DECLARE @StateINT

    DECLARE @Job_Name nVARCHAR(1000)

    SET@Job_Name = 'Your Job Name Goes Here'

    SELECT@Job_ID = job_id

    FROMmsdb.dbo.SysJobs

    WHEREname = @Job_Name

    IF(@Job_ID IS NOT NULL)

    BEGIN

    CREATE TABLE #job_current_state

    (

    Job_ID UNIQUEIDENTIFIER,

    Last_Run_Date INT,

    Last_Run_Time INT,

    Next_Run_Date INT,

    Next_Run_Time INT,

    Next_Run_Schedule_ID INT,

    Requested_To_Run INT,

    Request_Source INT,

    Request_Source_ID VARCHAR(100),

    Running INT,

    Current_Step INT,

    Current_Retry_Attempt INT,

    State INT

    )

    INSERT INTO #job_current_state

    EXEC master.dbo.xp_sqlagent_enum_jobs 1, garbage

    SELECT @Schedule_Name_ID = Request_Source_ID,@State = State

    FROM #job_current_state

    wherejob_id = @Job_ID

    SELECTISNULL(@Schedule_Name_ID,'NA') Schedule_Name_ID

    ,CASE @State WHEN 1 THEN 'Running' ELSE 'Stopped' END State

    DROP TABLE #job_current_state

    END

    ELSE

    BEGIN

    SELECT'Job does not exist' output

    END

    Musab
    http://www.sqlhelpline.com