Solved

Query timeout expired (ASP) but only 3 times then it it's okay

Posted on 2014-10-09
4
187 Views
Last Modified: 2014-10-22
Our CMS is experiencing 'Query timeout expired' after updating records.

But it only happens 3 times at the start of each day, then it no longer happens until the next day (odd).

CMS using ASP Classic code.

Starting happening after our IS/IT department upgraded to MS SQL Server 2008 R2.

Not sure why it's happening. I think the code stop is not always the same but in my last test it happened after a System.Connection.Execute.
0
Comment
Question by:intoxicated_curveball
  • 2
4 Comments
 
LVL 48

Expert Comment

by:Vitor Montalvão
ID: 40370520
The first time a query runs takes always more time since there's nothing in the buffer. After that data are most expected to be in the buffer so the engine will get data from memory instead of from disk.
Anyway you should ask how they upgraded SQL Server. Check with them if they rebuild indexes after migration.
You can also post here the query so we can see if there's any improve that can be done.
0
 
LVL 27

Expert Comment

by:Dan McFadden
ID: 40370525
From what version of SQL server did you upgrade?  Depending on the version there may be syntax issues with some queries.  But that depends on from where you came.

What is the app trying to do when it tries to do the execute?

Using SQL Server Management Studio, have you tried to directly execute the query to see if data is being returned?

Dan
0
 

Author Comment

by:intoxicated_curveball
ID: 40370579
Vitor:

The query is

MaxRank = getInt(System.Connection.Execute("SELECT MAX(T.[Rank]) FROM [" & Me.Title & "] AS T")(0))

Open in new window


But I don't think it's always the same every day. I can't confirm until tomorrow since the issue will no longer happen today.

Dan:

Was SQL Server 2005 previously.

I don't see how it can be a syntax issue if there's no syntax error and it only happens three times (timeout) then doesn't happen again that day.

I will try the Query directly tomorrow.

Is there any way to just extend the Query timeout time?
0
 
LVL 48

Accepted Solution

by:
Vitor Montalvão earned 500 total points
ID: 40370678
You can change the query timeout time in your connection but you should avoid that unless in extremely cases that are really necessary.
What can also happens is maybe somehow in the morning that table have a lot of simultaneous access so what you can do here is to use a NOLOCK locking hint:
MaxRank = getInt(System.Connection.Execute("SELECT MAX(T.[Rank]) FROM [" & Me.Title & "] AS T WITH (NOLOCK)")(0))

Open in new window

0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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.

Question has a verified solution.

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

In this article we will get to know that how can we recover deleted data if it happens accidently. We really can recover deleted rows if we know the time when data is deleted by using the transaction log.
In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

837 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