[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 292
  • Last Modified:

SQL server stopped without any reason

hi,

one of our SQL server running SQL server 2008 with SP4 stopped without any reason and the error from the log is:


1)            A user request from the session with SPID 64 generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.
2)            SQL Server Assertion: File: <qxcntxt.cpp>, line=1052 Failed Assertion = 'cref == 0'. This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data structures are not corrupted
3)            SQL Server is terminating because of fatal exception c0000005. This error may be caused by an unhandled Win32 or C++ exception, or by an access violation encountered during exception handling. Check the SQL error log for any related stack dumps or messages. This exception forces SQL Server to shutdown. To recover from this error, restart the server (unless SQLAgent is configured to auto restart).
4) Database Engine Instance=SQL01-CDS;Mail PID=8544;Error Message:

1) Exception Information
===================
Exception Type: System.Data.SqlClient.SqlException
Errors: System.Data.SqlClient.SqlErrorCollection
Class: 11
LineNumber: 0
Number: -2
Procedure:
Server: 192.168.108.6,1435
State: 0
Source: .Net SqlClient Data Provider
ErrorCode: -2146232060
Message: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
Data: System.Collections.ListDictionaryInternal
TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean)
HelpLink: NULL

StackTrace Information
===================
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
   at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
   at System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
   at System.Data.SqlClient.TdsParserStateObject.ReadByte()
  at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.PostResponse(Response r, Guid convHandle)
   at Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.PostResponseIfNeeded(MailInfo mi, Response r)
   at Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation(Object o)
0
marrowyung
Asked:
marrowyung
  • 16
  • 8
  • 2
  • +1
3 Solutions
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
You may need to collect all the logs and dump files and send it to Microsoft support.  We can't do much with the information you provided.
0
 
Nakul VachhrajaniTechnical Architect, Capgemini IndiaCommented:
Once you have collected the error log dumps, please try to do the following:
1. Ensure that the system time is synchronized to a central time server and is correct
2. Try to restart the SQL Server Service. If a corruption occurred in the tempdb, restarting the service will reset the tempdb and the service should successfully restart
0
 
marrowyungAuthor Commented:
our checkdb result returns good :

CHECKDB found 0 allocation errors and 0 consistency errors in database
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
marrowyungAuthor Commented:
any comment ?
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Looks like you didn't follow our recommendation to collect the logs and you went to a different path (nobody asked about CHECKDB).

If you want to follow our recommendation then collect the log information. You can use SQLdiag utility for that.

Cheers
0
 
marrowyungAuthor Commented:
"Looks like you didn't follow our recommendation to collect the logs and you went to a different path (nobody asked about CHECKDB)."

you mean this :

  "You may need to collect all the logs and dump files and send it to Microsoft support."

restart SQL server has been followed and it doesn't help.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
restart SQL server has been followed and it doesn't help.
That was only a guess from Nakul in case of tempdb corruption.
I, myself, can't say nothing without getting the result from SQLdiag.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
Is this running on a virtual box?   If so, you might want to wait and see if it happens again.  I'd also review the servers event logs to see if anything unusual is going on with the server.

As pointed out in the error message:

"this error may be caused by an unhandled Win32 or C++ exception, or by an access violation encountered during exception handling. "

 The error c0000005 is a memory access violation.  The root cause of that was:

"Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding."

 or in other words, the server simply took too long while trying to get data.  This was part of a mail process, which might have a bug (in that it had an unhandled exception).

As far as the "fix":

"This exception forces SQL Server to shutdown. To recover from this error, restart the server (unless SQLAgent is configured to auto restart)."

  Already suggested and done.

"This error may be timing-related. If the error persists after rerunning the statement, use DBCC CHECKDB to check the database for structural integrity, or restart the server to ensure in-memory data "

  You've also done the DBCC CHECKDB with no errors, so chances are it was timing related.   I'd wait to see if it happens again, and if so:

"Contact Product Support Services with the dump produced in the log directory."

or as Vitor said, post the result of SQLDiag.

Jim.
0
 
marrowyungAuthor Commented:
"Is this running on a virtual box?  "

all SQL serve here run under hyper-V .

" I'd also review the servers event logs to see if anything unusual is going on with the server.
"
the log is the one I check from the log.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<<the log is the one I check from the log.>>

I meant outside of the posted error; network issues?  storage?

Something that might explain why a timeout occurred.

Jim.
0
 
marrowyungAuthor Commented:
"I meant outside of the posted error; network issues?  storage? "

I checked all that and we also have network problem too but the network problem is one day later and it cause replication lag behind.

the SQL server restart one ahead.
0
 
marrowyungAuthor Commented:
vitor,

sorry the SQLdiag page is a bit complex and I wan to use the simpiest way to run that command, what syntax you usually use to run that ?
0
 
marrowyungAuthor Commented:
I don't even find example .xml file from http://sqlnexus.codeplex.com/
0
 
marrowyungAuthor Commented:
any update for me?
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
I am sorry, marrowyung. I missed somehow your comments for this question.

actually what XML file you use ? the default one in the same path ?
Yes, the default one should be fine.
0
 
marrowyungAuthor Commented:
hi,

yeah, I know there are default one, but usually what is the full command you use for that?

that command page is a bit complex to read.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Check if with this tool it will be more easy for you to configure the XML file.
0
 
marrowyungAuthor Commented:
hi all,

these errors just come again:

DESCRIPTION:	A user request from the session with SPID 164 generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.

DESCRIPTION:	Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.

Open in new window


before that I can only see our idera compliance manger is running and collect trace file.
0
 
marrowyungAuthor Commented:
send all information to idera and see what they said.

SQL server with SP3 don't have that problem but at this moment, it seems the one with SP4 has problem.

we will upgrade it to SQL server 2014 with SP2+ CU1 very soon but experience this, this error already strong enough for us to restart SQL server as error keep coming. we have no choice.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
It will also be good to send the dump file to Microsoft.
0
 
marrowyungAuthor Commented:
yes, but I think I will upload to here first.

which link I can send to MS? they cost ?
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
which link I can send to MS? they cost ?
Is the .dmp file. I'm guessing that your company has a support contract with MS. That's usual when you have their products.
0
 
marrowyungAuthor Commented:
I think I will try sQLdiag tomrorrow or some day this week and update you all.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
SQLDiag is also able to read dump files so it's a good idea too.
Cheers
0
 
marrowyungAuthor Commented:
I guess now we know why that box stop without any reason as we are setting up Idera compliance manager (CM) to audit a SQL 2008 server with SP4, it doesn't even happen to SP3 at all.

DESCRIPTION:    A user request from the session with SPID 207 generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.

Is caused by CM is the audited SQL server is running SQL server 2008 with SP4 when DML audit is turned on

This one:


DESCRIPTION:    Internal error. Buffer provided to read column value is too small. Run DBCC CHECKDB to check for any corruption.

Is caused by CM is the audited SQL server is running SQL server 2008 with SP4 when Before and AFTER audit is on.
0
 
marrowyungAuthor Commented:
tks all for that.
0

Featured Post

[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

  • 16
  • 8
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now