?
Solved

How to identify locked tables and how to release the locks?

Posted on 2014-02-04
5
Medium Priority
?
299 Views
Last Modified: 2014-02-05
One of the SPs in my database takes long time to execute. The same SP executes faster in another DB. My colleague suggests that the tables could be locked in my DB and I've to release the locks (in which the SP refers) from the tables. How to identify the issue is due to locks and how to release them?

Please do suggest. Thanks.
0
Comment
Question by:Easwaran Paramasivam
[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 Comments
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 500 total points
ID: 39831888
Are the tables (in the two different databases) the SP operate upon identical in structure ?  (An index in one table that isn't in the other can make a vast difference to the time an SP takes to complete).
0
 
LVL 23

Assisted Solution

by:Patrick Bogers
Patrick Bogers earned 500 total points
ID: 39831891
Hi

Look under management (right click) and select View locks by object.
0
 
LVL 16

Assisted Solution

by:Surendra Nath
Surendra Nath earned 500 total points
ID: 39831956
you can use the sp_lock2 stored procedure to find out if there are any locks on the tables involved
if that stored procedure is not already there in your database then you can get it from here

http://support.microsoft.com/kb/255596

I suggest you also try to update the statistics once and see if it resolves the performance issue

sp_updateStats

the above statement will update the stats of all the tables involved...
0
 
LVL 40

Assisted Solution

by:Jacques Bourgeois (James Burger)
Jacques Bourgeois (James Burger) earned 500 total points
ID: 39832963
Andy has the most common and easiest to fix problem with slow stored procedures: tables that are not indexed properly.

The difference of speed between 2 databases might be that the amount or the values of the joining and ordering fields are different from one database to another. The amount of traffic can also play a role.

If you find out that locks are the problem, be careful. Locks are usually there for a good reason: to prevent multiple writes to the same data from 2 different sources at the same time. Removing them to speed up things would create more important problems.

Is your application the only one that uses that database? If so review your code for the most common cause of locks: transactions. You might be starting transactions that you do not commit or rollback as soon as the operations are finished, so they are holding locks uselessly. You might also be using transactions in places where they are not needed.

If other applications use that database, try to see if the same thing could not happen in these too.
0
 
LVL 16

Author Closing Comment

by:Easwaran Paramasivam
ID: 39835974
Thanks
0

Featured Post

10 Questions to Ask when Buying Backup Software

Choosing the right backup solution for your organization can be a daunting task. To make the selection process easier, ask solution providers these 10 key questions.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
A Stored Procedure in Microsoft SQL Server is a powerful feature that it can be used to execute the Data Manipulation Language (DML) or Data Definition Language (DDL). Depending on business requirements, a single Stored Procedure can return differe…
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

718 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