The process with the least amount will be the victim. The amount of transaction log that was generated through this transaction. The priority of the task, most of the time 0. The process attributes are (from the example) : Attribute Id=”process3f9f4c8″ mode=”U” requestType=”wait” and then will execute the next Update here (now Schulze) UPDATE SAPTABLE SET SPRSL = N’E’ WHERE NAME = N’Schulze’ AND SPRSL = N’D’ we will wait in this connection for 10 seconds …. Now run the script for the deadlock partner UPDATE SAPTABLE SET SPRSL = N’D’ WHERE NAME = N’Miller’ AND SPRSL = N’E’ Update the first row, starting with Miller UPDATE set = WHERE AND SAPTABLE SET SPRSL = N’E’ WHERE NAME = N’Schulze’ AND SPRSL = N’D’ Here is an example (fragment), how this looks like in our case: XML Tag The same information as for the first lock. The waiter with process id and lock mode (X, U, S etc.) and request type (WAIT).ĭetailed information about the second lock. The list of waiter of this resource can be more than one. The owner with process id and lock mode (X, U, S etc.) The list of owner of this resource, mostly one process. PAGE locks)ĭetailed information about the first lock itself, they will be discussed later. Mostly only a list of two KEY locks, but might be other as well (e.g. Process number two, the survivor or winner of the deadlockĪll the resources that are involved in the deadlock. Has the statement from the ExecutionStack included. The complete input buffer of the process, in an SAP system most of the time only one statement, in our example the complete script of the connection. The statement that causes the deadlock, which SQL Handle and (sometimes) as a prepared statement. This section contains many attributes about the Process itself, they will be discussed later The list of involved Processes (most of the time only two) The surrounding bracket around all deadlocks (most of the time only one) deadlocks The name of the index, on which the locks are held or requested. The name of the object can be retrieved via the OBJECT_NAME function. The ObjectID that is associated to the HoBt ID. Heap or B-Tree ID, the ID of the internal allocation structure of the table or partition Common values are “Key Lock”, “Page Lock” or ”RID Lock” Type of lock the thread holds or requests. In the middle of the graph, in the rectangles, information about the two participating locks is shown: Line The amount of transaction log, that was already generated by this threadĪn internal reference number for the transaction.Īn internal reference number for the state of the transaction. If the thread has an associated deadlock priority, it is shown here. When the query is executed in parallel, this shows the ID of one of the parallel running threads. The ovals are showing more information about the thread: LineĪn internal reference number for the batch, where the statement is running in. If it is not set, the other trace flags will not be able to write to the SQL Server Error log. This trace flag is necessary to get the above debug information into the error log. This trace flag pipes XML Deadlock information to the error log XML Deadlock Information to the error log This trace flag produces detailed information about deadlocks, including participants and victims. The trace flags that get set are: Trace flag
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |