Home All Groups Group Topic Archive Search About
Author
10 Jun 2006 7:21 AM
vicky
I have done some research in how to avoid and view trace logs for deadlocks.
now iwant to test this on my test db.
Is there any steps by which deadlock can be reprduced in any test dbsay
authors or pubs?

thanks

Author
10 Jun 2006 9:56 AM
Tom Moreau
Here are two scripts:

<Script1>
-- Step 1
begin tran

update authors
set
au_fname = 'Joe'
where
au_lname = 'White'

-- Step 3
select
*
from
authors
where
au_lname = 'Green'

-- rollback tran
</Script1>

<Script2>
-- Step 2
begin tran

update authors
set
au_fname = 'Joe'
where
au_lname = 'Green'

select
*
from
authors
where
au_lname = 'White'

-- rollback tran
</Script2>

Note the embedded comments.  Open 2 separate sessions and bring up Script1
in one session and Script2 in the other.  In Script1, highlight and execute
Step 1.  Next, run Script2 in its entirety (Step 2).  It will not finish
executing, since it's waiting on Script1.  Go back to Script1 and highlight
Step 3.  Execute it.  Within a few seconds, it will throw error 1205 - a
deadlock.  It will also rollback the transaction.

Script2 will now complete.  However, it still has an open transaction.  Be
sure to rollback the transaction in Script2.

HTH


--
   Tom

----------------------------------------------------
Thomas A. Moreau, BSc, PhD, MCSE, MCDBA
SQL Server MVP
Toronto, ON   Canada
..
"vicky" <v@v.com> wrote in message
news:%23LdGE6FjGHA.4748@TK2MSFTNGP04.phx.gbl...
I have done some research in how to avoid and view trace logs for deadlocks.
now iwant to test this on my test db.
Is there any steps by which deadlock can be reprduced in any test dbsay
authors or pubs?

thanks

AddThis Social Bookmark Button