• When I run the sql contained in the job within the QA it works Ok and I get a mail. However when I try and execute the job itself I get the following error:

    Error formatting query, probably invalid parameters [SQLSTATE 42000] (Error 22050). The step failed.

    SQL with email just masked:

    CREATE TABLE tempdb.dbo.ErrorLog (Id int IDENTITY (1, 1) NOT NULL,

    logdate DATETIME, procInfo VARCHAR(10), ERRORLOG VARCHAR(MAX))

    --== We create a 3 column table to hold the contents of the SQL Server Error log. ==--

    --== Then we insert the actual data from the Error log into our newly created table. ==--

    INSERT INTO tempdb.dbo.ErrorLog

    EXEC master.dbo.sp_readerrorlog

    --== With our table created and populated, we can now use the info inside of it. ==--

    BEGIN

    --== Set a variable to get our instance name. ==--

    --== We do this so the email we receive makes more sense. ==--

    declare @servername nvarchar(150)

    set @servername = @@servername

    --== We set another variable to create a subject line for the email. ==--

    declare @mysubject nvarchar(200)

    set @mysubject = 'Deadlock event notification on server '+@servername+'.'

    --== Now we will prepare and send the email. Change the email address to suite your environment. ==--

    EXEC msdb.dbo.sp_send_dbmail

    @profile_name = 'default',

    @recipients='xxxxxxxxxxxxxxxxxx',

    @subject = @mysubject,

    @body = 'Deadlock has occurred. View attachment to see the deadlock info',

    @query = 'select logdate, procInfo, ERRORLOG from tempdb.dbo.ErrorLog where Id >= (select TOP 1 Id from tempdb.dbo.ErrorLog WHERE ERRORLOG Like ''%Deadlock encountered%'' order by Id DESC)',

    @query_result_width = 600,

    @attach_query_result_as_file = 1

    END

    --== Clean up our process by dropping our temporary table. ==--

    DROP TABLE tempdb.dbo.ErrorLog

    Any ideas? I'm running 2008 R2 but not sure if that should make a difference.Thanks!