Solution ID: prim33760 |
Transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim. |
Status: Reviewed |
Version(s): 5.0 |
Fact: | SQL Server 2000 |
Problem: | Transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim. |
Problem: | SQL SERVER DEADLOCKS:
***************************************************** *EXCEPTIONREPORT* ***************************************************** Date:3/2/2006 10:16:48 AM
Executable:PM.exe Application:Primavera Project Management Event Code:PRMDB-1755-6 Message: PRM DBAccess Error: SQL Server Error: Transaction (Process ID 223) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Context: 1: TfrmLogin.FormCreate 2: 3: 4: 5: 6: 7: 8: 9: 10:
Detail: Type:EprmDBSQLExecutionFailure Object Type: TCDBEdit |
Problem: | ***************************************************** > * EXCEPTION REPORT * > ***************************************************** > Date: 25-May-07 11 > > Executable: PM.exe > Application: Primavera Project Management > Event Code: VTRPR-2801-2 > Message: > TCVirtualTable.Refresh: PROJWBS: SQL Server Error: > Transaction (Process ID 85) was deadlocked on lock > resources with another process and has been chosen as > the deadlock victim. Rerun the transaction. > > Context: > 1: TfrmTimeSht.PerformInitialization > 2: TfrmTimeSht.FormReloadData > 3: TfrmTimeSht.FormShow > 4: TfrmMain.actToolsTimeApprovalExecute > 5: TfrmHourlyCalendar.cmdWorkClick > 6: TfrmHourlyCalendar.cmdWorkClick > 7: TfrmHourlyCalendar.FormCreate > 8: > 9: > 10: > > Detail: > Type: EDatabaseError > Object Type: TfrmTimeSht > > > Components > ========== > ORI: ORI Win32 # > ORI/DB: PMDB,0500.0024.0001.0006 > IMG: IMG Win32 #1000 |
Cause: | A deadlock occurs when user A has locks on the resources that user B wants to modify, and user B has locks on the resources that user A intends to modify. A deadlock is much like an infinite loop: If you let it go, it will continue until the end of time, until your server crashes, or until the power goes out (whichever comes first). Fortunately, SQL Server has a built-in algorithm for resolving deadlocks. It will choose one of the deadlock participants and roll back its transaction. From this it will display a message, like the Event Code Received. |
Fix: | To help minimize the occurrences… Go into Edit, User Preferences, Startup Filters – which defaults to Current Project Data Only: Change the preference on all Project Management Client Machines to ‘View all data (no filter): The last step is to modify the PM.ini, the default location is C:\Program Files\Primavera\Project Management, under the [OPTIONS] section, add the following parameters:delayedloadmode=off under the [DATABASE] section, add the following parameters: |