Simply stated, a deadlock occurs when two user processes each have a lock on a separate data page, index page, or table and each wants to acquire a lock on same page or table locked by the other process. When this happens, the first process is waiting for the second release the lock, but the second process will not release it until the lock on the first process’s object is released.