The possible causes for this error is:
- A bug in the product.
- You are running external code in the SQL Server address space and which is misbehaving This can be:
a. A third-party driver for a linked server or OPENROWSET.
b. An extended stored procedure.
c. A COM object invoked from sp_OAxxxx
d. An unsafe CLR assembly.
- Corruption or faulty hardware.
Of these, I hold the first point as the most likely. To resolve it, you should open a support case.
But I listed points 2a to 2d, because if you know that you are using any of these, this absolutely something you should investigate, for instance by investigating the stack dumps in the SQL Server errorlog.
You may still prefer to open a case, but the difference between point 1 and the other is that if the cause is a defect in the product, the support case will be without cost in the end. In the other case, you may have to pay the full price, depending on your support contract.