Solved

Forcing a table lock in SQL Server 2000

Posted on 2010-08-12
4
395 Views
Last Modified: 2012-05-10
We are testing a program change that locks a table when it updates.  There can be multiple requests for this update and we have error handling that does this.  We want to test this functionality before we move it to Production, but I'm having a hard time finding a way to force a table lock so that we can test the error processing.  I have seen a way through bcp, but I'd prefer not to do it that way.  In the query, we are locking using a Transaction and the TABLOCK and HOLDLOCK hints.  This is in SQL Server 2000 accessed through vb.net.

Thanks
0
Comment
Question by:dgoncher
[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
  • 2
  • 2
4 Comments
 
LVL 3

Expert Comment

by:yanoch
ID: 33423187
In your vb app, start a transaction
Then select * from your table
Then sleep // do your tests
Then rollback
0
 

Author Comment

by:dgoncher
ID: 33432378
"In your vb app, start a transaction
Then select * from your table
Then sleep // do your tests
Then rollback"

This did not work.  I started a transaction in vb.net did the select * and a sleep for a minute.  While it was sleeping, I ran the other program which reads then updates the record and it successfully read and updated.

Any other ideas?
0
 
LVL 3

Accepted Solution

by:
yanoch earned 500 total points
ID: 33433250
Just by writing the following in your sql console it will lock from updating :
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
BEGIN TRANSACTION
select * from youtable

when you want to remove the transaction
COMMIT TRANSACTION

0
 

Author Closing Comment

by:dgoncher
ID: 33433371
This worked thanks.  If anyone else has this issue, make sure you turn off the option in Query Analyzer that disconnects after query executes before you run the SQL.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

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

PL/SQL can be a very powerful tool for working directly with database tables. Being able to loop will allow you to perform more complex operations, but can be a little tricky to write correctly. This article will provide examples of basic loops alon…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Viewers will learn how the fundamental information of how to create a table.

756 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