How can your resolve deadlocks?
Answers were Sorted based on User's Feedback
Answer / ilgian
Deadlocks occour when two or more processes place a lock on
the same resources and each process waits for the others to
release the lock.
The options to avoid deadlocks are basically the following:
1) always update data in the same order: if process A
updates table t1 and then table t2 and process B updates
table t2 and then table t1 deadlocks can occour. Choose an
order and use it everywhere in your code.
2) issue the commands again when you catch the deadlock
3) always update data before data selection: no other
process will place a lock on the modified records
4) identify the processes that can run with lower deadlock
priority and issue SET DEADLOCK_PRIORITY LOW before these
statements: this will tell SQLServer that the process is a
good candidate for killing in case of deadlock, having
the "important" processes free to run without kills
| Is This Answer Correct ? | 12 Yes | 0 No |
Answer / xavier rajan, photon infotech
A deadlock occurs when two or more
processes try to access a resource that another process has
a lock on. Microsoft SQL Server automatically
detects these deadlocks, terminates one of the processes,
and rolls back any changes made by that process.
The process chosen for termination will be the one with the
least amount of active time on the server. In
most cases, you can simply reissue the statements that were
rolled back and should have no problems.
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / darshan
Hi
1)
First find out which process block the other process from
activity monitor or sp_who2. Then kill that process.
2)
If update locks are more then it will make deadlock. So
reduce that.
| Is This Answer Correct ? | 7 Yes | 2 No |
Answer / sasikala
one way to kill the process which is responsible for dead lock. after this the process can proceed without any problem. after a process completed , the killed process should be created and executed as if nothing has happened. but the killed process might have changed in an data base or some records. it must have changed as before to maintain the consistency.
| Is This Answer Correct ? | 0 Yes | 0 No |
What are the system database in sql server 2008?
What are different types of table joins?
What is the correct order of the logical query processing phases?
What is the maximum row of a size?
What is the purpose of update statistics and scope_identity() function?
What is the difference between update lock and exclusive lock?
Define msdb database?
what is a stored procedure and trigger?
What are the kinds of subquery?
Why do we use functions?
What is an inner join?
Do you know what is similarity and difference between truncate and delete in sql?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)