Quantcast
Channel: SQL Server Manageability forum
Viewing all articles
Browse latest Browse all 1519

SQL Server 2016 SP2, 2017 - Better intra-query parallelism deadlocks

$
0
0

After the upgrade to sql 2017, we have a problem with logging deadlocks.

When several procedures have been blocked, the mechanisms that log the deadlock (EventNotification, XE, dbcc traceflags 1204, 1205, 1222), register thousands of events.


The list of resources in the deadlock xml looks like this.

resource-list><exchangeEvent id="Port33a780b400" WaitType="e_waitPortOpen" waiterType="Producer" nodeId="7" tid="4" ownerActivity="notYetOpened" waiterActivity="waitForAllOwnersToOpen"><owner-list><owner id="process2ef7e33848" /></owner-list><waiter-list><waiter id="process32a56d5468" /></waiter-list></exchangeEvent><exchangeEvent id="Port33a780b400" WaitType="e_waitPortOpen" waiterType="Producer" nodeId="7" tid="10" ownerActivity="notYetOpened" waiterActivity="waitForAllOwnersToOpen"><owner-list><owner id="process2c51c01468" /></owner-list><waiter-list><waiter id="process33ad05fc28" /></waiter-list></exchangeEvent><exchangeEvent id="Port33a780b400" WaitType="e_waitPortOpen" waiterType="Producer" nodeId="7" tid="11" ownerActivity="notYetOpened" waiterActivity="waitForAllOwnersToOpen"><owner-list><owner id="process26eaa6e8c8" /></owner-list><waiter-list><waiter id="process2c51c01468" /></waiter-list></exchangeEvent><exchangeEvent id="Port33a780b400" WaitType="e_waitPortOpen" waiterType="Producer" nodeId="7" tid="8" ownerActivity="notYetOpened" waiterActivity="waitForAllOwnersToOpen"><owner-list><owner id="process2541deb848" /></owner-list><waiter-list><waiter id="process33a00e3848" /></waiter-list></exchangeEvent><pagelock fileid="1" pageid="60088232" dbid="23" subresource="FULL" objectname="Database.dbo.TableName" id="lock2e970eb900" mode="U" associatedObjectId="72057666334883840"><owner-list><owner id="process208fcc04e8" mode="U" requestType="wait" /></owner-list><waiter-list><waiter id="process2ef7e33848" mode="U" requestType="wait" /></waiter-list></pagelock><pagelock fileid="1" pageid="60166629" dbid="23" subresource="FULL" objectname="Database.dbo.TableName" id="lock2adc053e80" mode="U" associatedObjectId="72057666334883840"><owner-list><owner id="process2aeb526108" mode="U" requestType="wait" /></owner-list><waiter-list><waiter id="process26eaa6e8c8" mode="U" requestType="wait" /></waiter-list></pagelock><pagelock fileid="1" pageid="60166629" dbid="23" subresource="FULL" objectname="Database.dbo.TableName" id="lock2adc053e80" mode="U" associatedObjectId="72057666334883840"><owner-list><owner id="process33ad05fc28" mode="U" /></owner-list><waiter-list><waiter id="process2aeb526108" mode="U" requestType="wait" /></waiter-list></pagelock><pagelock fileid="1" pageid="58709446" dbid="23" subresource="FULL" objectname="Database.dbo.TableName" id="lock1dcf458600" mode="U" associatedObjectId="72057666334883840"><owner-list><owner id="process33a00e3848" mode="U" /></owner-list><waiter-list><waiter id="process24d84eb848" mode="U" requestType="wait" /></waiter-list></pagelock><pagelock fileid="1" pageid="58709446" dbid="23" subresource="FULL" objectname="Database.dbo.TableName" id="lock1dcf458600" mode="U" associatedObjectId="72057666334883840"><owner-list><owner id="process24d84eb848" mode="U" requestType="wait" /></owner-list><waiter-list><waiter id="process2541deb848" mode="U" requestType="wait" /></waiter-list></pagelock><pagelock fileid="1" pageid="60088232" dbid="23" subresource="FULL" objectname="Database.dbo.TableName" id="lock2e970eb900" mode="U" associatedObjectId="72057666334883840"><owner-list><owner id="process32a56d5468" mode="U" /></owner-list><waiter-list><waiter id="process208fcc04e8" mode="U" requestType="wait" /></waiter-list></pagelock></resource-list>
I suppose that MSSQL solve the deadlock that occurred with parallelism but the event takes place and logs in, although this is not a real deadlock.

Is there any switch to make it work like on SQL 2014?



Viewing all articles
Browse latest Browse all 1519

Trending Articles