Solved

SQL transaction timeing out problem

Posted on 2009-07-02
11
145 Views
Last Modified: 2012-05-07
Hi i am using vb.net vs2008. I have a command object which executes a simple update statement on a table that has 100 000 records in it.
For some reason today it has started timeing out which it has not done before
I then took the UPDATE statement and ran it on SQL management studio and it is timing out there now as well.

UPDATE tblACBTrans set Status = 'Rejected' , UnpaidDate = '2009/07/02' where AutoID = 2829442;
I have created a separate Index non-clustered Unique index on my field AutoID which is also my primary key for this table. Still no joy

This is my code in vb to execute the statement, i tried setting the CommandTimeOut property to 60 but did  not help

       Dim command As New SqlCommand(SQLString, cn)
        command.CommandTimeout = 60
        Try
            If cn.State = ConnectionState.Broken Or cn.State = ConnectionState.Closed Then cn.Open()
            If cn.State = ConnectionState.Open Then
                command.ExecuteNonQuery()
                ModifyData = "Success"
            End If
       Catch exSQL As SqlException
         msgbox exsql.message.tostring
        Finally

            command.Dispose()
            command = Nothing
        End Try

thanks, any help would be great

thanks
0
Comment
Question by:CraigLazar
11 Comments
 
LVL 15

Assisted Solution

by:mohan_sekar
mohan_sekar earned 100 total points
Comment Utility
Probably somebody has got exclusive access to the table? Did you check event/sql server log? Could you restart SQL Server and try?
0
 
LVL 4

Author Comment

by:CraigLazar
Comment Utility
i have taken a backup of hte database of the server and onto my local machine, so i have been restoring the database and trying to fix the problem - so i do not think some one has got exclusive access to the table

thanks
0
 
LVL 15

Expert Comment

by:mohan_sekar
Comment Utility
Ok, try the following command on the database

sp_updatestats
0
 
LVL 4

Author Comment

by:CraigLazar
Comment Utility
hi mohan_sekar:
what does the sp do?
0
 
LVL 15

Expert Comment

by:mohan_sekar
Comment Utility
It updates the statistics. Since you said the database was restored from a backup, I thought updating stats might help. Did it?
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 4

Author Comment

by:CraigLazar
Comment Utility
no unfortunately not
0
 
LVL 75

Accepted Solution

by:
Aneesh Retnakaran earned 200 total points
Comment Utility
>I have created a separate Index non-clustered Unique index on my field AutoID which is also my primary key for this table. Still no joy

remove that newly created index  and try to run the same statment from the management studio

UPDATE tblACBTrans set Status = 'Rejected' , UnpaidDate = '2009/07/02' where AutoID = 2829442

on a new query window run sp_Who2 and check whether there is any entries with a value in the 'blked_by' column


also if it again times out, try with a different Auto_Id
0
 
LVL 4

Author Comment

by:CraigLazar
Comment Utility
Hi,
Ok if i run my query from management studio it seems to be running fine. However from my vb app it is timing out. I restored yesterdays database and ran the same process using my vb app and it ran with no problems. So i cannot help thinking that there could possibly be some sort of table corruption in todays database compared with yesterdays. I have made now code adjustments to the application, so its very strange.
Are there sp's that i can run to redo/check table indexes, similar to Access's compact and repare database functions?

thanks
0
 
LVL 7

Assisted Solution

by:wilje
wilje earned 200 total points
Comment Utility
What indexes do you currently have on that table?  With either a clustered index on AutoID, or the non clustered index you created - that query should be very fast.
That would lead to either a blocking issue - or maybe a parallelism issue.
You could try using OPTION(MAXDOP 1) with the query to see if that helps.
0
 
LVL 4

Author Comment

by:CraigLazar
Comment Utility
Hi Guys,

Ok i eventually found a work around for my problem. I cannot explain why it was doing it but for some reason it was timing out on my SQL reader adapter, so i then switched to using a data table as my container for the records based on my sql statement and it seems to have fixed it. very very odd


thanks anyway for the help

cheers
0
 
LVL 4

Author Closing Comment

by:CraigLazar
Comment Utility
thanks for your help
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

INTRODUCTION: While tying your database objects into builds and your enterprise source control system takes a third-party product (like Visual Studio Database Edition or Red-Gate's SQL Source Control), you can achieve some protection using a sing…
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.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

771 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

11 Experts available now in Live!

Get 1:1 Help Now