Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12

Dead Lock----Urgent Expand / Collapse
Author
Message
Posted Tuesday, October 21, 2008 10:54 PM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Wednesday, November 03, 2010 12:00 AM
Points: 14, Visits: 40
Thanks to All I got it.
Post #589571
Posted Tuesday, October 21, 2008 10:55 PM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Wednesday, November 03, 2010 12:00 AM
Points: 14, Visits: 40
Thanks to All
I got it.

Kiran
Post #589573
Posted Wednesday, October 22, 2008 10:32 AM
Valued Member

Valued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued Member

Group: General Forum Members
Last Login: Monday, January 30, 2012 8:06 PM
Points: 66, Visits: 403
GilaMonster :

You need set 1204 in combination with the 3605 flag:
The output of the flag will be sent to the SQL Server error log whenever SQL Server encounters a deadlock.



Note This way you can gather information about the deadlocks immediately. The "-1" indicates all SPIDs.

dbcc traceon (1204, 3605, -1)
go
dbcc tracestatus(-1)
go

more: http://support.microsoft.com/kb/832524

Post #589937
Posted Wednesday, October 22, 2008 10:35 AM
Valued Member

Valued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued MemberValued Member

Group: General Forum Members
Last Login: Monday, January 30, 2012 8:06 PM
Points: 66, Visits: 403
Kiran,
There are basically four steps you can use to resolve deadlocks. These are:

Remove incompatible lock requests
Change the timing of transactions
Change the order of resource requests
Change the isolation level

more:
http://www.code-magazine.com/article.aspx?quickid=0309101&page=4
Post #589940
Posted Wednesday, October 22, 2008 12:20 PM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: General Forum Members
Last Login: Today @ 3:40 PM
Points: 30,270, Visits: 23,044
Eugene (10/22/2008)
GilaMonster :

You need set 1204 in combination with the 3605 flag:
The output of the flag will be sent to the SQL Server error log whenever SQL Server encounters a deadlock.


Despite what the kb article says, 1204 alone can, will and does (at least on every server I've ever used it on from 2000 to 2008) write the deadlock graph into the error log.

On my 2008 server (I don't have a 2000 one handy right now)

dbcc tracestatus(-1) -- returns nothing, so neither 3604 nor 3605 is enabled.
dbcc traceon (1204,-1)
CREATE TABLE Test1 (id int)
CREATE TABLE Test2 (id int)

Then force a deadlock. Not hard to do.

In one window
BEGIN TRANSACTION
Insert into Test1 Values (1)

waitfor delay '00:00:20'

select * from Test2

and in a second window
BEGIN TRANSACTION
Insert into Test2 Values (1)

waitfor delay '00:00:20'

select * from Test1

20 seconds later:
Msg 1205, Level 13, State 45, Line 6
Transaction (Process ID 52) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.


and in my error log: (slightly trimmed for space reasons)

DBCC TRACEON 1204, server process ID (SPID) 53. This is an informational message only; no user action is required.
Deadlock encountered .... Printing deadlock information
Wait-for graph

Node:1

RID: 12:1:3783:0 CleanCnt:2 Mode:X Flags: 0x3
Grant List 2:
Owner:0x00000000845CA180 Mode: X Flg:0x40 Ref:0 Life:02000000 SPID:51
SPID: 51 ECID: 0 Statement Type: SELECT Line #: 6
Input Buf: Language Event: BEGIN TRANSACTION

Requested by:
ResType:LockOwner Stype:'OR'Xdes:0x0000000083844E90 Mode: S SPID:52

Node:2

RID: 12:1:3503:0 CleanCnt:2 Mode:X Flags: 0x3
Grant List 3:
Owner:0x0000000080177DC0 Mode: X Flg:0x40 Ref:0 Life:02000000 SPID:52
SPID: 52 ECID: 0 Statement Type: SELECT Line #: 6
Input Buf: Language Event: BEGIN TRANSACTION

Requested by:
ResType:LockOwner Stype:'OR'Xdes:0x0000000088B48E90 Mode: S SPID:51

Victim Resource Owner:
ResType:LockOwner Stype:'OR'Xdes:0x0000000083844E90 Mode: S SPID:52



Gail Shaw
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

We walk in the dark places no others will enter
We stand on the bridge and no one may pass

Post #590030
« Prev Topic | Next Topic »

Add to briefcase ««12

Permissions Expand / Collapse