In the last couple of weeks this error occurred twice in our SQL 2005 Server and after ten minutes SQL restarted on its own. Below are more details about the environment and circumstances when this happened:
We are running SQL 2005 Enterprise in a cluster (manual failover) environment on Win 2003 SP2 and two different queries generated the same error resulting in a SQL dump and restart after 10 minutes.
First time the access violation was generated as a result of a SP execution and the only non standard syntax I found inside was : DATEDIFF("d",@entered_on_in,entered_on)=0 where there are useless double quotes around the date alias d in the stmt above.
Second violation was caused by a simple SELECT where the only odd thing is that an integer column value is tested against a string '123456' value from the UI.
I looked at several known issues/fixes and the closest seems to be http://support.microsoft.com/kb/949595 however the second time the access violation occurred we didn't get the errors "New queries assigned to process on Node 1 have not been picked up by a worker thread in the last 60 seconds. Blocking or long-running queries can contribute to this condition, and may degrade client response time. Use the "max worker threads" configuration option to increase number of allowable threads, or optimize current running queries. SQL Process Utilization: 0%. System Idle: 98%." immediately after that but SQL restarted after 600 seconds.