ERROR MESSAGE:
Transaction (Process ID XX) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
RESOLUTION:
A “deadlock victim” is a common error in a multiuser system (well not too common but does happen). If more than one user is trying to process an invoice, the accounts and customer records are locked (Palladium locks them) while the first user’s invoice is being processed. This blocks other users from reading information that is incorrect while the first user’s invoice is still being posted. SQL Server will queue the second user waiting for the first user to release the locks once posting is complete. If that does not happen within x number of seconds, you get a deadlock error.
The other time when this could happen is when you have 2 users with locked tables (transactions) and they intersect one another. If that is the case, SQL will determine which of the 2 must be failed over as the “victim”.
When this occurs, you need to run the transaction again on the terminal where the error message is displayed (it will stay on screen, you just record it again).
If your server does not have enough hardware to run the database size you have grown to, then this will occur much more frequently. As transactions take longer to post, and you have multiple users posting them, then obviously you will get more contention errors like this.