April 13, 2016 at 8:50 am
I have a job which prints a cards from third party .exe . The SQL job executes xp_cmdshell every minute. Sometime the job hangs with wait type PREEMPTIVE_OS_PIPEOPS.
I am not able to figure what is causing this . The temp workaround is:
1. Disable the job ,kill the respective SPID .
2. Kill the cmd.exe in server
3. Re-enable the job .
I am trying to investigate the permanent solution for this . Any guidance on this will be appreciated .
Note : I have checked logs , SQL and OS levels could not find any thing to give any direction.
April 13, 2016 at 11:16 am
Is there any chance that the third party EXE is asking for user input? The behavior you describe will happen if you use xp_cmdshell to run a task where a dialog box pops up waiting for a user to type something in.
April 14, 2016 at 7:11 pm
No user dialogue pop ups . The job runs fine all day but sometime it just get hung and requires manual intervention. I checked in process explorer the cme.exe shows TIMEOUT and when I kill the PID then it goes away .
April 15, 2016 at 6:21 am
RatanDeep Saha (4/14/2016)
No user dialogue pop ups . The job runs fine all day but sometime it just get hung and requires manual intervention. I checked in process explorer the cme.exe shows TIMEOUT and when I kill the PID then it goes away .
Regardless, my experience says that the problem isn't in SQL Server but something in the EXE file and how it is executing. I would try logging in as the service account user if possible and run the exact command in a command window and see what happens. There is something in the EXE that is hanging and never returning control to SQL Server. The Agent starts the command and will sit and wait until the command exits, which is why it is hanging.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply