I have a small database and a smalll table ( Table ID=565577053,with two
indexes on this table). when more than one user connected, I got the deadlock on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I got this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 -----------
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 -----------
How can I get rid of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Any kind of help will be appreciate.
HansonHow can I get rid of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
The short answers ... You can't and no
More information:
It is the application causing the deadlock, but you only exacerbated the problem by disallowing the row and page locking mechanism. SQL Server will try to take the lowest level lock it needs to accomplish the task. If I have a table with 1 million rows and I need to update 1 row, SQL Server will lock the row (in most cases). If I disallow row locks, it will have to lock the page ... so if there are 100 rows on an 8K page, 100 rows are locked instead of 1. If I then disallow page locks, the next level is a TABLE lock (TAB). So you have really screwed yourself by doing that.
Now to the deadlock ... spid XX locks row 12345 in Table A and needs to lock row 23456 in Table B. spif YY has locked row 23456 in Table B and needs to lock row 12345 in Table A. Each spid is competing for the exact same resource. SQL Server resolves the problem by killing and rolling back one of the spids.
Now your problem could be a spid locking a resource longer than needed, or allowing a user to hold a lock while going off to lunch, or maybe the app accesses the tables in two different sequences ... whatever the problem, it's the app and not the database.
Long term solution ... allow sqlserver to determine the proper locking mechanism and fix the app!|||The short answers ... You can't and no
More information:
It is the application causing the deadlock, but you only exacerbated the problem by disallowing the row and page locking mechanism. SQL Server will try to take the lowest level lock it needs to accomplish the task. If I have a table with 1 million rows and I need to update 1 row, SQL Server will lock the row (in most cases). If I disallow row locks, it will have to lock the page ... so if there are 100 rows on an 8K page, 100 rows are locked instead of 1. If I then disallow page locks, the next level is a TABLE lock (TAB). So you have really screwed yourself by doing that.
Now to the deadlock ... spid XX locks row 12345 in Table A and needs to lock row 23456 in Table B. spif YY has locked row 23456 in Table B and needs to lock row 12345 in Table A. Each spid is competing for the exact same resource. SQL Server resolves the problem by killing and rolling back one of the spids.
Now your problem could be a spid locking a resource longer than needed, or allowing a user to hold a lock while going off to lunch, or maybe the app accesses the tables in two different sequences ... whatever the problem, it's the app and not the database.
Long term solution ... allow sqlserver to determine the proper locking mechanism and fix the app!
tomh53:
Your information is very helpful.
I agree with you that the proper fix should be done on the application rather than database. it is a third party application so I don't have any source code, now the only thing I can do is escalate to them and force them to update the code.
Another approch I like to do is load more data in, make the deadlock less chance happen.
Thanks,
HANSON|||Smells like Access and you're returning all the rows to a form...which should be a shared lock.
We need more background on the application and what you're doing...which doesn't sound good...|||it is a third party application so I don't have any source code, now the only thing I can do is escalate to them and force them to update the code.
You have a 3rd party code that you bought, and it causes deadlocks? Make them fix the damn code.
Can you let us know who they are? They got a home page?|||Why would using this ever be advantageous? I can see where DisAllowPageLock might be helpful, but not this one.|||hmmm...load more data so this won't happen...
You're hired!
Make sure you keep the deep fryers clean when you clock out|||DisAllowRowLock would use fewer lock resources. Systems that have correctly designed applications hitting them and don't have deadlock issues can really benefit from this.|||DisAllowRowLock would use fewer lock resources. Systems that have correctly designed applications hitting them and don't have deadlock issues can really benefit from this.
Really? Would you post your sources for review?|||I don't have current sources, or hard number, but some experience back when it was debated about row-level locking entering SQL Server, and when to use it. Search for "lock escalation" in BOL. Each lock is a small amount of memory, and is something for the server to manage. Normally, the server handles lock escalation in a fairly intelligent manner, but the option is there if you need it. In almost all circumstances letting the server manage the overhead is acceptable. Looking at my post, I shouldn't have implied a big gain. Still the post is correct in that that:
1) DisAllowRowLock would use fewer lock resources.
But
2) Correctly designed applications must be used, or you will have deadlocking issues.
You can easily (as the initial poster did) cause more problems by fiddling with the lock level.
Jay Grubb
Technical Consultant
OpenLink Software
Web: http://www.openlinksw.com:
Product Weblogs:
Virtuoso: http://www.openlinksw.com/weblogs/virtuoso
UDA: http://www.openlinksw.com/weblogs/uda
Universal Data Access & Virtual Database Technology Providers
Showing posts with label connected. Show all posts
Showing posts with label connected. Show all posts
Wednesday, March 21, 2012
Deadlock on TAB level
I have a small database and a smalll table ( Table ID=565577053,with two
indexes on this table). when more than one user connected, I got the deadloc
k
on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
"DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
get to this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 --
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt
:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt
:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 --
How can I get ride of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Anybody can help to solve this TAB deadlock will be appreciate.
HansenAnybody any suggestion please?
"HG" wrote:
> I have a small database and a smalll table ( Table ID=565577053,with two
> indexes on this table). when more than one user connected, I got the deadl
ock
> on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> get to this TAB lock situation instead as following:
>
> 2006-01-18 09:51:37.87 spid4 --
> 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> Deadlock encountered ... Printing deadlock information
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Wait-for graph
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:1
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanC
nt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x
0
> Ref:2 Life:02000000 SPID:77 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELET
E
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:2
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanC
nt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x
0
> Ref:2 Life:02000000 SPID:64 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELET
E
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
> 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> found.
> 2006-01-18 09:51:37.87 spid4 --
> How can I get ride of this deadlock without changing the application
> code(without using set the isolation level or NOLOCK hint). When I load mo
re
> data, will this problem goes away?
> Anybody can help to solve this TAB deadlock will be appreciate.
> Hansen
>|||Have you considered just disallowing page locks but allowing row locks? Wit
h
rowlocks disallowed, for your application to do an insert/update/delete it
seems that it would be left with no choice but to take out a table lock.
Question for others: when is a "good" time to disallow row locks? I can't
think of one.
"HG" wrote:
[vbcol=seagreen]
> Anybody any suggestion please?
> "HG" wrote:
>sql
indexes on this table). when more than one user connected, I got the deadloc
k
on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
"DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
get to this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 --
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt
:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt
:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 --
How can I get ride of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Anybody can help to solve this TAB deadlock will be appreciate.
HansenAnybody any suggestion please?
"HG" wrote:
> I have a small database and a smalll table ( Table ID=565577053,with two
> indexes on this table). when more than one user connected, I got the deadl
ock
> on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> get to this TAB lock situation instead as following:
>
> 2006-01-18 09:51:37.87 spid4 --
> 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> Deadlock encountered ... Printing deadlock information
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Wait-for graph
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:1
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanC
nt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x
0
> Ref:2 Life:02000000 SPID:77 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELET
E
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:2
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanC
nt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x
0
> Ref:2 Life:02000000 SPID:64 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELET
E
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)> 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> found.
> 2006-01-18 09:51:37.87 spid4 --
> How can I get ride of this deadlock without changing the application
> code(without using set the isolation level or NOLOCK hint). When I load mo
re
> data, will this problem goes away?
> Anybody can help to solve this TAB deadlock will be appreciate.
> Hansen
>|||Have you considered just disallowing page locks but allowing row locks? Wit
h
rowlocks disallowed, for your application to do an insert/update/delete it
seems that it would be left with no choice but to take out a table lock.
Question for others: when is a "good" time to disallow row locks? I can't
think of one.
"HG" wrote:
[vbcol=seagreen]
> Anybody any suggestion please?
> "HG" wrote:
>sql
Deadlock on TAB level
I have a small database and a smalll table ( Table ID=565577053,with two
indexes on this table). when more than one user connected, I got the deadlock
on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
"DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
get to this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 --
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 --
How can I get ride of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Anybody can help to solve this TAB deadlock will be appreciate.
Hansen
Anybody any suggestion please?
"HG" wrote:
> I have a small database and a smalll table ( Table ID=565577053,with two
> indexes on this table). when more than one user connected, I got the deadlock
> on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> get to this TAB lock situation instead as following:
>
> 2006-01-18 09:51:37.87 spid4 --
> 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> Deadlock encountered ... Printing deadlock information
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Wait-for graph
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:1
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:77 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:2
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:64 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
> 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> found.
> 2006-01-18 09:51:37.87 spid4 --
> How can I get ride of this deadlock without changing the application
> code(without using set the isolation level or NOLOCK hint). When I load more
> data, will this problem goes away?
> Anybody can help to solve this TAB deadlock will be appreciate.
> Hansen
>
|||Have you considered just disallowing page locks but allowing row locks? With
rowlocks disallowed, for your application to do an insert/update/delete it
seems that it would be left with no choice but to take out a table lock.
Question for others: when is a "good" time to disallow row locks? I can't
think of one.
"HG" wrote:
[vbcol=seagreen]
> Anybody any suggestion please?
> "HG" wrote:
indexes on this table). when more than one user connected, I got the deadlock
on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
"DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
get to this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 --
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 --
How can I get ride of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Anybody can help to solve this TAB deadlock will be appreciate.
Hansen
Anybody any suggestion please?
"HG" wrote:
> I have a small database and a smalll table ( Table ID=565577053,with two
> indexes on this table). when more than one user connected, I got the deadlock
> on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> get to this TAB lock situation instead as following:
>
> 2006-01-18 09:51:37.87 spid4 --
> 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> Deadlock encountered ... Printing deadlock information
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Wait-for graph
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:1
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:77 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:64 ECID:0 Ec
0x4AEAF530) Value:0x42c0df00 Cost
0/D4)> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:2
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:64 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)> 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec
0x4951D530) Value:0x42c03da0 Cost
0/D4)> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> found.
> 2006-01-18 09:51:37.87 spid4 --
> How can I get ride of this deadlock without changing the application
> code(without using set the isolation level or NOLOCK hint). When I load more
> data, will this problem goes away?
> Anybody can help to solve this TAB deadlock will be appreciate.
> Hansen
>
|||Have you considered just disallowing page locks but allowing row locks? With
rowlocks disallowed, for your application to do an insert/update/delete it
seems that it would be left with no choice but to take out a table lock.
Question for others: when is a "good" time to disallow row locks? I can't
think of one.
"HG" wrote:
[vbcol=seagreen]
> Anybody any suggestion please?
> "HG" wrote:
Deadlock on TAB level
I have a small database and a smalll table ( Table ID=565577053,with two
indexes on this table). when more than one user connected, I got the deadlock
on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
"DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
get to this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 --
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 --
How can I get ride of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Anybody can help to solve this TAB deadlock will be appreciate.
HansenAnybody any suggestion please?
"HG" wrote:
> I have a small database and a smalll table ( Table ID=565577053,with two
> indexes on this table). when more than one user connected, I got the deadlock
> on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> get to this TAB lock situation instead as following:
>
> 2006-01-18 09:51:37.87 spid4 --
> 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> Deadlock encountered ... Printing deadlock information
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Wait-for graph
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:1
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:77 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:2
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:64 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> found.
> 2006-01-18 09:51:37.87 spid4 --
> How can I get ride of this deadlock without changing the application
> code(without using set the isolation level or NOLOCK hint). When I load more
> data, will this problem goes away?
> Anybody can help to solve this TAB deadlock will be appreciate.
> Hansen
>|||Have you considered just disallowing page locks but allowing row locks? With
rowlocks disallowed, for your application to do an insert/update/delete it
seems that it would be left with no choice but to take out a table lock.
Question for others: when is a "good" time to disallow row locks? I can't
think of one.
"HG" wrote:
> Anybody any suggestion please?
> "HG" wrote:
> > I have a small database and a smalll table ( Table ID=565577053,with two
> > indexes on this table). when more than one user connected, I got the deadlock
> > on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> > "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> > get to this TAB lock situation instead as following:
> >
> >
> > 2006-01-18 09:51:37.87 spid4 --
> > 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> >
> > Deadlock encountered ... Printing deadlock information
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 Wait-for graph
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 Node:1
> > 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> > Mode: S Flags: 0x0
> > 2006-01-18 09:51:37.87 spid4 Grant List 0::
> > 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
> > Ref:2 Life:02000000 SPID:77 ECID:0
> > 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
> > Line #: 1
> > 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> > 2006-01-18 09:51:37.87 spid4 Requested By:
> > 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> > SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 Node:2
> > 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> > Mode: S Flags: 0x0
> > 2006-01-18 09:51:37.87 spid4 Grant List 0::
> > 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
> > Ref:2 Life:02000000 SPID:64 ECID:0
> > 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
> > Line #: 1
> > 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> > 2006-01-18 09:51:37.87 spid4 Requested By:
> > 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> > SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> > 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> > 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> > SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> > found.
> > 2006-01-18 09:51:37.87 spid4 --
> >
> > How can I get ride of this deadlock without changing the application
> > code(without using set the isolation level or NOLOCK hint). When I load more
> > data, will this problem goes away?
> > Anybody can help to solve this TAB deadlock will be appreciate.
> >
> > Hansen
> >
indexes on this table). when more than one user connected, I got the deadlock
on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
"DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
get to this TAB lock situation instead as following:
2006-01-18 09:51:37.87 spid4 --
2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
Deadlock encountered ... Printing deadlock information
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Wait-for graph
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:1
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:77 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 Node:2
2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
Mode: S Flags: 0x0
2006-01-18 09:51:37.87 spid4 Grant List 0::
2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
Ref:2 Life:02000000 SPID:64 ECID:0
2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
Line #: 1
2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
2006-01-18 09:51:37.87 spid4 Requested By:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
2006-01-18 09:51:37.87 spid4
2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
found.
2006-01-18 09:51:37.87 spid4 --
How can I get ride of this deadlock without changing the application
code(without using set the isolation level or NOLOCK hint). When I load more
data, will this problem goes away?
Anybody can help to solve this TAB deadlock will be appreciate.
HansenAnybody any suggestion please?
"HG" wrote:
> I have a small database and a smalll table ( Table ID=565577053,with two
> indexes on this table). when more than one user connected, I got the deadlock
> on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> get to this TAB lock situation instead as following:
>
> 2006-01-18 09:51:37.87 spid4 --
> 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> Deadlock encountered ... Printing deadlock information
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Wait-for graph
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:1
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:77 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 Node:2
> 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> Mode: S Flags: 0x0
> 2006-01-18 09:51:37.87 spid4 Grant List 0::
> 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
> Ref:2 Life:02000000 SPID:64 ECID:0
> 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
> Line #: 1
> 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> 2006-01-18 09:51:37.87 spid4 Requested By:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> 2006-01-18 09:51:37.87 spid4
> 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> found.
> 2006-01-18 09:51:37.87 spid4 --
> How can I get ride of this deadlock without changing the application
> code(without using set the isolation level or NOLOCK hint). When I load more
> data, will this problem goes away?
> Anybody can help to solve this TAB deadlock will be appreciate.
> Hansen
>|||Have you considered just disallowing page locks but allowing row locks? With
rowlocks disallowed, for your application to do an insert/update/delete it
seems that it would be left with no choice but to take out a table lock.
Question for others: when is a "good" time to disallow row locks? I can't
think of one.
"HG" wrote:
> Anybody any suggestion please?
> "HG" wrote:
> > I have a small database and a smalll table ( Table ID=565577053,with two
> > indexes on this table). when more than one user connected, I got the deadlock
> > on the index KEY and PAGE lock. I setup index with "DisallowRowLock" and
> > "DisallowPageLock" , seems kill the index KEY and PAGE lock problem, but I
> > get to this TAB lock situation instead as following:
> >
> >
> > 2006-01-18 09:51:37.87 spid4 --
> > 2006-01-18 09:51:37.87 spid4 Starting deadlock search 15
> >
> > Deadlock encountered ... Printing deadlock information
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 Wait-for graph
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 Node:1
> > 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> > Mode: S Flags: 0x0
> > 2006-01-18 09:51:37.87 spid4 Grant List 0::
> > 2006-01-18 09:51:37.87 spid4 Owner:0x42c03ba0 Mode: S Flg:0x0
> > Ref:2 Life:02000000 SPID:77 ECID:0
> > 2006-01-18 09:51:37.87 spid4 SPID: 77 ECID: 0 Statement Type: DELETE
> > Line #: 1
> > 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> > 2006-01-18 09:51:37.87 spid4 Requested By:
> > 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> > SPID:64 ECID:0 Ec:(0x4AEAF530) Value:0x42c0df00 Cost:(0/D4)
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 Node:2
> > 2006-01-18 09:51:37.87 spid4 TAB: 10:565577053 [] CleanCnt:3
> > Mode: S Flags: 0x0
> > 2006-01-18 09:51:37.87 spid4 Grant List 0::
> > 2006-01-18 09:51:37.87 spid4 Owner:0x42c03e00 Mode: S Flg:0x0
> > Ref:2 Life:02000000 SPID:64 ECID:0
> > 2006-01-18 09:51:37.87 spid4 SPID: 64 ECID: 0 Statement Type: DELETE
> > Line #: 1
> > 2006-01-18 09:51:37.87 spid4 Input Buf: RPC Event: sp_executesql;1
> > 2006-01-18 09:51:37.87 spid4 Requested By:
> > 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> > SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> > 2006-01-18 09:51:37.87 spid4 Victim Resource Owner:
> > 2006-01-18 09:51:37.87 spid4 ResType:LockOwner Stype:'OR' Mode: IX
> > SPID:77 ECID:0 Ec:(0x4951D530) Value:0x42c03da0 Cost:(0/D4)
> > 2006-01-18 09:51:37.87 spid4
> > 2006-01-18 09:51:37.87 spid4 End deadlock search 15 ... a deadlock was
> > found.
> > 2006-01-18 09:51:37.87 spid4 --
> >
> > How can I get ride of this deadlock without changing the application
> > code(without using set the isolation level or NOLOCK hint). When I load more
> > data, will this problem goes away?
> > Anybody can help to solve this TAB deadlock will be appreciate.
> >
> > Hansen
> >
Friday, February 24, 2012
DBPROCESS is dead or not enabled - HELP!
I am using MSDE on a network with multiple PCs. One PC has the MSDE Database
and client applications connected to the database. The other PCs also have
Client applications connected to the database.
When one of the Client PCs is logged off and shut down, the Applications on
the Database's PC get the error "DBPROCESS is dead or not enabled", Error
Code: 10005.
Can anyone help please?
Regards,
Loz Moz
"Loz Moz" <LozMoz@.hotmail.com> ha scritto nel messaggio
news:4125e38e$0$29908$cc9e4d1f@.news.dial.pipex.com ...
> I am using MSDE on a network with multiple PCs. One PC has the MSDE
Database
> and client applications connected to the database. The other PCs also have
> Client applications connected to the database.
> When one of the Client PCs is logged off and shut down, the Applications
on
> the Database's PC get the error "DBPROCESS is dead or not enabled", Error
> Code: 10005.
> Can anyone help please?
The [DBProcess is dead or not enabled message] is a generic error meaning
the client has lost the connection to the server, and, unfortunately,
there's plenty of conditions that can cause this to happen, from network
problems to timeout problems to server down problems.
further ideas at
http://www.winnetmag.com/Article/Art...019/14019.html
http://tinyurl.com/3w37b
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtmhttp://italy.mvps.org
DbaMgr2k ver 0.8.0 - DbaMgr ver 0.54.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
-- remove DMO to reply
and client applications connected to the database. The other PCs also have
Client applications connected to the database.
When one of the Client PCs is logged off and shut down, the Applications on
the Database's PC get the error "DBPROCESS is dead or not enabled", Error
Code: 10005.
Can anyone help please?
Regards,
Loz Moz
"Loz Moz" <LozMoz@.hotmail.com> ha scritto nel messaggio
news:4125e38e$0$29908$cc9e4d1f@.news.dial.pipex.com ...
> I am using MSDE on a network with multiple PCs. One PC has the MSDE
Database
> and client applications connected to the database. The other PCs also have
> Client applications connected to the database.
> When one of the Client PCs is logged off and shut down, the Applications
on
> the Database's PC get the error "DBPROCESS is dead or not enabled", Error
> Code: 10005.
> Can anyone help please?
The [DBProcess is dead or not enabled message] is a generic error meaning
the client has lost the connection to the server, and, unfortunately,
there's plenty of conditions that can cause this to happen, from network
problems to timeout problems to server down problems.
further ideas at
http://www.winnetmag.com/Article/Art...019/14019.html
http://tinyurl.com/3w37b
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtmhttp://italy.mvps.org
DbaMgr2k ver 0.8.0 - DbaMgr ver 0.54.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
-- remove DMO to reply
Sunday, February 19, 2012
dbo option only
Hi,
Can you change the mode to dbo option only if there are other users connected? Will they automatically get booted out?
MeeraHowdy
If you try & change to db_use only, an error will come up saying people are using the database & the task will fail.
Cheers
SG
Can you change the mode to dbo option only if there are other users connected? Will they automatically get booted out?
MeeraHowdy
If you try & change to db_use only, an error will come up saying people are using the database & the task will fail.
Cheers
SG
Friday, February 17, 2012
DBNETLIB general network error
Hello,
We have a problem on one of our databases: sporadically all XP machines remotelly connected to that database -which is the haviest one- all of them are dropped and at the next request the egt an error:"[DBNETLIB]general network error", it does not happen to win 98 machines or to clients connecting to other databases on the same Mssql server. I have a feeling that it is Mssql connectivity installed that is cauing it but I do not see any option to uninstall it.
Please help!!!Im finding lots of problems on any SQL machines running MDAC 2.8
As far as I can see the whole world is screaming...
Dont wish to scare you... but check your MDAC version... if its 2.8 I would say expect problems... and if you find any solutions... please let me know :)
Im still searching for myself... I will of course post anything I find
LFN|||where do I check the version?
Originally posted by LFN
Im finding lots of problems on any SQL machines running MDAC 2.8
As far as I can see the whole world is screaming...
Dont wish to scare you... but check your MDAC version... if its 2.8 I would say expect problems... and if you find any solutions... please let me know :)
Im still searching for myself... I will of course post anything I find
LFN|||ok - most importantly understand i am not an expert on this issue. Check everything :)
I have transferred my application back to an sql 7.0 server and everything is working 100%... also works 100% on SQL 2000 with mdac 2.5
... im not sure how to get mdac version... there is a SELECT @.@.version command in sql - but i dont know if it returns mdac...
Im using asp and I simply did a conn.version statement... and as its the connection that seems to be causing the problems I reccommend you get the properties from the connection. Im not sure if the iis or the sql server mdac is returned... tho some say different mdac versions on the two can cause problems.
I cant be 100% that this is your problem... but everywhere i look im finding people having trouble with sql 2k sp3 mdac 2.8|||In the registry, under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess,
there are string values called FullInstallVer and Version. One or both contain the MDAC version number; not sure what the difference is. My machine has the same value for both (2.80.1022.3).|||Rather accessing the registry if you're not aware of that, better to get COMCHECK tool from MS which will return complete information if any discrepancies listed.
Ensure similar netlib protocols are enabled between the clients and server.
We have a problem on one of our databases: sporadically all XP machines remotelly connected to that database -which is the haviest one- all of them are dropped and at the next request the egt an error:"[DBNETLIB]general network error", it does not happen to win 98 machines or to clients connecting to other databases on the same Mssql server. I have a feeling that it is Mssql connectivity installed that is cauing it but I do not see any option to uninstall it.
Please help!!!Im finding lots of problems on any SQL machines running MDAC 2.8
As far as I can see the whole world is screaming...
Dont wish to scare you... but check your MDAC version... if its 2.8 I would say expect problems... and if you find any solutions... please let me know :)
Im still searching for myself... I will of course post anything I find
LFN|||where do I check the version?
Originally posted by LFN
Im finding lots of problems on any SQL machines running MDAC 2.8
As far as I can see the whole world is screaming...
Dont wish to scare you... but check your MDAC version... if its 2.8 I would say expect problems... and if you find any solutions... please let me know :)
Im still searching for myself... I will of course post anything I find
LFN|||ok - most importantly understand i am not an expert on this issue. Check everything :)
I have transferred my application back to an sql 7.0 server and everything is working 100%... also works 100% on SQL 2000 with mdac 2.5
... im not sure how to get mdac version... there is a SELECT @.@.version command in sql - but i dont know if it returns mdac...
Im using asp and I simply did a conn.version statement... and as its the connection that seems to be causing the problems I reccommend you get the properties from the connection. Im not sure if the iis or the sql server mdac is returned... tho some say different mdac versions on the two can cause problems.
I cant be 100% that this is your problem... but everywhere i look im finding people having trouble with sql 2k sp3 mdac 2.8|||In the registry, under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess,
there are string values called FullInstallVer and Version. One or both contain the MDAC version number; not sure what the difference is. My machine has the same value for both (2.80.1022.3).|||Rather accessing the registry if you're not aware of that, better to get COMCHECK tool from MS which will return complete information if any discrepancies listed.
Ensure similar netlib protocols are enabled between the clients and server.
Subscribe to:
Posts (Atom)