Thank Jo,
I tried as your recommend, it did not work.
I checked deep in details in Event Viewer and I checked sysprocess and sp_who2 just before my job fail (run so many time until I know it).
In event viewer I found:
Process ID: 130 killed by hostname CORPSERVER, host process ID 2992.
Yes SPID 130 is my job ( I have more than one due to set MaxBcpthreads = 40). All SPID for my jobs were kill by process ID 2992.
I check process ID 2992 (before and after the job fail) and find it was belong to program name 'SQLAgent - Alert Engine'
Before I ran the job, I killed it due to it came as SPID more than 50 but it came back, at the begiinig it also has SQLAgent - generic refresher, but SQLAgent - generic refresher did not come back after I killed it.
I also disabled all alerts before I ran my job.
Please also recommend me about Lock_timeout, will it help?
I check and find it is '-1', so I reluctant to change it ( I do not know much about this but some paper show it is unlimit timeout)
Any help or recommendation will be really appreciate.