Solved

Seemingly random 'Timeout expired' '80040e31' error

Posted on 2004-10-20
13
1,054 Views
Last Modified: 2012-06-27
I have a page on which users submit information.
A few days ago this problem started occurring.
It's seemingly intermittent/random, but is happening frequently enough to be very very annoying.
Here's the error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e31'

[Microsoft][ODBC SQL Server Driver]Timeout expired

/directory/page.asp, line 130


There is no script on the page that should take seconds to run, much less reach the timeout time.
If the page submitting the info gets the error, the page can be refreshed (and data resubmitted) and it will work (sometimes).  So, it's not necessarily the data being submitted.

Any ideas?

Thanks.
0
Comment
Question by:jholton
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 3
  • 2
  • +1
13 Comments
 

Expert Comment

by:a_tya
ID: 12367150
Do you have SP3 for SQL SERVER instaled?
0
 

Author Comment

by:jholton
ID: 12369653
I have:

Microsoft SQL Server  2000 - 8.00.760 (Intel X86)   Dec 17 2002 14:22:05   Copyright (c) 1988-2003 Microsoft Corporation  Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
0
 

Expert Comment

by:a_tya
ID: 12369804
You may have a concurency problem, when many users try to insert in the same time rows in one table . You may have to think of locking that table.

Or

When you set the Connection object try to set timeout property to a greater value.
Good luck!
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:jholton
ID: 12370549
I took the query and ran it in query analyzer.
It's a simple insert and it took 40 seconds to run.

Just tried again and it's fine.
It's like something is clogging it up for a while.  At this moment it isn't clogged, but I'm 100% sure it will be before the day is over.

0
 
LVL 34

Expert Comment

by:arbert
ID: 12377697
40seconds to run for an insert???  Sounds a bit long to me.  Did you look at the query plan to see why it's taking so long?

Have you ran Windows Perfmon to see what the diskio looks like?  is your log file and database data file on different disks?

Have you ran SQL Profiler to see all the SQL activity that's taking place at the same time?

Paste your insert code...
0
 

Author Comment

by:jholton
ID: 12381255
It did the same thing this morning.
Submit insert from web site.  Times out after 30 seconds.
Tried the insert from Query Analyzer.  It took 40 seconds, but worked.
Now inserts work as fast as they should from the site and QA.

The query plan looks fine now.  Unfortunately, I didn't have it running when the query took 40 seconds.

Parden my ignorance, but I don't know how to use the Perfmon to evaluate the disk IO.

Log file and database file are on same disk.

Thanks.

0
 
LVL 34

Expert Comment

by:arbert
ID: 12381313
Would you also right click on the database in Enterprise Manager and choose properties.  Look at the options tab.  Do you have the "Auto Close" option selected?

Update speed can be improved if you move your log file onto a different disk from the data file (and from a recoverability standpoint, it should be any way).

Windows Performance Monitor (Start/Run, PERFMON).  You can add a counter for Performance Object PhysicalDisk and look at Avg Disk Write Queue Length and the Avg Disk Read Queue Lengths (for starters).
0
 

Author Comment

by:jholton
ID: 12385055
I've gotten busy today, but I'll try your suggestions when I get the time to.

Is there a way to increase the script timeout value for SQL Server?

Thanks.
0
 
LVL 34

Expert Comment

by:arbert
ID: 12386054
There are several different timeouts (not sure what your code looks like):

server.scripttimeout=0    ' don't timeout at all
connection.timeout=600   'command will timeout after 6minutes
0
 

Author Comment

by:jholton
ID: 12758212
The problem was the log file for the database wasn't committing properly after backups and had grown to 13GB.
We fixe that and the problem went away.

Thanks.
0
 

Accepted Solution

by:
modulo earned 0 total points
ID: 12792929
PAQed with points refunded (125)

modulo
Community Support Moderator
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

As technology users and professionals, we’re always learning. Our universal interest in advancing our knowledge of the trade is unmatched by most industries. It’s a curiosity that makes sense, given the climate of change. Within that, there lies a…
Lotus Notes has been used since a very long time as an e-mail client and is very popular because of it's unmatched security. In this article we are going to learn about  RRV Bucket corruption and understand various methods to Fix "RRV Bucket Corrupt…
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question