Quantcast
Channel: Primavera Online Interaction » PMDB
Viewing all articles
Browse latest Browse all 92

prim33760:Transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim.

$
0
0
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:
allowdirtyreads=true


Viewing all articles
Browse latest Browse all 92

Trending Articles