![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have a customer using our program with SQL server and is occasionally getting a "Transaction (process ID xxxxx) was deadlocked on lock resources with another process and has been chosen as the deadlock victim." From what they are telling me, there shouldn't be any deadlock happening as they say this happens when they invoicing in a different program that is accessing a different database. Also the error is happening on an SQL Select from a view and this select is then showing data in an HTML table for the user. I don't think this view should need to lock anything, I just want to read the data. Is there anything I can do to fix this? |
#3
| |||
| |||
|
|
I have a customer using our program with SQL server and is occasionally getting a "Transaction (process ID xxxxx) was deadlocked on lock resources with another process and has been chosen as the deadlock victim." From what they are telling me, there shouldn't be any deadlock happening as they say this happens when they invoicing in a different program that is accessing a different database. Also the error is happening on an SQL Select from a view and this select is then showing data in an HTML table for the user. I don't think this view should need to lock anything, I just want to read the data. Is there anything I can do to fix this? |
#4
| |||
| |||
|
|
Try using select * from table (NOLOCK) where xxxx = xxxx This will not lock the database as it reads. |
#5
| |||
| |||
|
|
Oscar Santiesteban (o_santieste... (AT) bellsouth (DOT) net) writes: Try using select * from table (NOLOCK) where xxxx = xxxx This will not lock the database as it reads. This may on the other hand lead to that the query returns incorrect results, which may even more seroius. There are situations where NOLOCK is called for, but you need to understand the implications. If you don't - don't try it. -- Erland Sommarskog, SQL Server MVP, esq... (AT) sommarskog (DOT) se Books Online for SQL Server 2005 athttp://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books... Books Online for SQL Server 2000 athttp://www.microsoft.com/sql/prodinfo/previousversions/books.mspx |
#6
| |||
| |||
|
|
On Jun 23, 4:10 am, Erland Sommarskog <esq... (AT) sommarskog (DOT) se> wrote: Oscar Santiesteban (o_santieste... (AT) bellsouth (DOT) net) writes: Try using select * from table (NOLOCK) where xxxx = xxxx This will not lock the database as it reads. This may on the other hand lead to that the query returns incorrect results, which may even more seroius. There are situations where NOLOCK is called for, but you need to understand the implications. If you don't - don't try it. -- Erland Sommarskog, SQL Server MVP, esq... (AT) sommarskog (DOT) se Books Online for SQL Server 2005 athttp://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books... Books Online for SQL Server 2000 athttp://www.microsoft.com/sql/prodinfo/previousversions/books.mspx I Think that the nolock will work for me. I understand the implications and I think that my program will be able to handle it. What I would've liked better was something like read committed but didn't lock records. |
![]() |
| Thread Tools | |
| Display Modes | |
| |