Solved

Timeout expired

Posted on 2015-01-13
13
105 Views
Last Modified: 2015-01-14
I am getting the error "System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding." The strange thing is its only happening from a certain web server. I took the same application to IIS 7 machine and it works fine. I also ran it on my local machine and its fine. The server it refuses to work from is one running IIS 6. Any ideas?
0
Comment
Question by:takwirirar
  • 7
  • 6
13 Comments
 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 40546920
Please post the query that you are trying to execute.
0
 
LVL 1

Author Comment

by:takwirirar
ID: 40546935
cmd = New SqlDataAdapter("SELECT order_num FROM dbo.orders where status='Awaiting' or status='Received'", cnn)
            cmd.Fill(ds)

            DropDownList4.DataSource = ds
            DropDownList4.DataValueField = "order_num"
            DropDownList4.DataBind()
            ds.Clear()
            cmd.Dispose()

Open in new window


This returns 88 rows when I run it in SSMS
0
 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 40546941
The table orders has any index on status column?
0
 
LVL 1

Author Comment

by:takwirirar
ID: 40546947
No index.
0
 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 40546956
Depending on how many rows the table has the query can run in more time than the configured timeout. I recommend you to create an index on that column.
0
 
LVL 1

Author Comment

by:takwirirar
ID: 40546965
I have now created index and still getting timeout.

Index
0
Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 40546978
Clustered?
How did you create the index?
0
 
LVL 1

Author Comment

by:takwirirar
ID: 40546985
Yes clustered index. I right clicked on Indexes - Create Index - Clustered - on the status field
0
 
LVL 45

Accepted Solution

by:
Vitor Montalvão earned 500 total points
ID: 40546993
Drop that index and then run the following command in a new query window:
CREATE INDEX IX_Orders_Status ON dbo.orders (status)

Open in new window

NOTE: You need to run this command in the correct database context.
0
 
LVL 1

Author Closing Comment

by:takwirirar
ID: 40547012
Giving this as answer because it helped in some way. The issue was the DNS configuration of the offending server. It had the Google 8.8.8.8 address that was probably trying to resolve an intranet address which caused the issue. I removed the public DNS, cleared ARP cache and flush DNS. All is working now.
0
 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 40548399
So, not a database problem.
Just for curiosity, did you create the suggested index? If so, did you realize any performance boost ?
0
 
LVL 1

Author Comment

by:takwirirar
ID: 40548475
I can't say the performance boost is noticeable but I think having indexes is a great idea anyway. I'll probably have to do some research then ask a question about checking how long transactions take with/without indexes. Perhaps SQL profiler.
0
 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 40548485
Yes, you can start by using SQL Profiler to capture long running queries. Those are for sure very good candidates to have indexes.
0

Featured Post

Get up to 2TB FREE CLOUD per backup license!

An exclusive Black Friday offer just for Expert Exchange audience! Buy any of our top-rated backup solutions & get up to 2TB free cloud per system! Perform local & cloud backup in the same step, and restore instantly—anytime, anywhere. Grab this deal now before it disappears!

Join & Write a Comment

Suggested Solutions

This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
JSON is being used more and more, besides XML, and you surely wanted to parse the data out into SQL instead of doing it in some Javascript. The below function in SQL Server can do the job for you, returning a quick table with the parsed data.
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Viewers will learn how the fundamental information of how to create a table.

759 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now