One of my clients asked assistance in fixing an interesting issue. They informed me that they are not able to run any job in SQL Agent. When they try to run the job manually, they are seeing below message related to SQLServerAgent .
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Cannot perform this operation while SQLServerAgent is starting. Try again later. (Microsoft SQL Server, Error: 14258)
My initial search showed me below KB BUG: DTC Transactions May Fail When SQL Server Is Running in Lightweight Pooling Mode.
But above is not applicable as we were running SQL Server 2012 and fiber mode was not enabled. I went ahead and asked SQLAgent.out file to see if there is something interesting
2016-07-21 16:22:49 – ?  SQLServer Message: 15457, Configuration option ‘Agent XPs’ changed from 0 to 1. Run the RECONFIGURE statement to install. [SQLSTATE 01000] (DisableAgentXPs)
2016-07-21 16:22:50 – ?  Microsoft SQLServerAgent version 10.50.4000.0 (x86 unicode retail build) : Process ID 3748
2016-07-21 16:22:50 – ?  SQL Server IND-SAP-SQL version 10.50.4000 (0 connection limit)
2016-07-21 16:22:50 – ?  SQL Server ODBC driver version 10.50.4000
2016-07-21 16:22:50 – ?  NetLib being used by driver is DBNETLIB.DLL; Local host server is IND-SAP-SQL
2016-07-21 16:22:50 – ?  2 processor(s) and 2048 MB RAM detected
2016-07-21 16:22:50 – ?  Local computer is IND-SAP-SQL running Windows NT 5.2 (3790) Service Pack 2
2016-07-21 16:22:52 – !  The Messenger service has not been started – NetSend notifications will not be sent
2016-07-21 16:22:52 – ?  SQLSERVERAGENT starting under Windows NT service control
2016-07-21 16:22:52 – ?  Using MAPI32.DLL from C:\WINNT\SYSTEM32 (version 1.0.2536.0)
2016-07-21 16:22:52 – ?  Attempting to start mail session using profile ‘SQLSrvrSvc’…
When I checked on my machine, my last line was not same. So, it looks like MAPI32.dll is being used. I checked further and found that they were using SQLMail which uses MAPI client to send email. We changed the setting to use Database Mail as shown below.
Once we changed the mail profile to Database Mail, we were able to run the jobs manually.
Reference: Pinal Dave (https://blog.sqlauthority.com)