Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am getting below error in some of my webserver. I don't know what is happening in my server, whether this is SQL DB related or Web server related. Please help me how to trouble shoot.

Message::Save- Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    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 Norman.Message.Save(Int32 nSiteID, String sBody, Int32 nUserID, String sUserIP)
share|improve this question
4  
You don't say what you're running for the web server, the application, or the database other than sql-server (MS? My? Post?), you're not saying how much traffic you're getting, any load stats on the server, log files from the server or web server or sql database...? From just the error alone, the best guess I could give is that your SQL database is locked for a period of time and (your web server || application) can't write a record in a particular period of time. –  Bart Silverstrim Nov 28 '11 at 10:14

1 Answer 1

According to Troubleshooting: Timeout Expired over on TechNet:

The "Timeout expired" error commonly occurs when an instance of the SQL Server Database Engine is not running, when the server name was typed incorrectly, or when there are network problems or firewalls.

The page lists a few things the problem might be, and their solution:

  • Server name was typed incorrectly.
  • The SQL Server service on the server is not running.
  • The TCP/IP port for the Database Engine instance is blocked by a firewall.
  • Database Engine is not listening on port 1433 because it has been changed, or because it is not the default instance, and the SQL Server Browser service is not running.
  • The SQL Server Browser service is running but UDP port 1434 is blocked by a firewall.
  • The client and server are not configured to use the same network protocol.
  • The network cannot resolve the server name to an IP address. This can be tested using the PING program.
  • The network cannot connect using the IP address. This can be tested using the PING program.

If you can definitely connect to the server, it could be related to a lock as Bart alluded to in his comment.

The exception occurs in a method called Norman.Message.Save. You should look at and around that piece of code and see if you can see the issue yourself - you'd be amazed how often you can see the problem, if you just know in what area of code it's happening.

If there's no glaringly obvious problem in the code, you might want to monitor locks while this query is being executed. This question over on Stack Overflow gives you several ways of monitoring for locks, and might also give you some clues to the problem.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.