I have figured it out. When I add an addition Event field resource_description to the lock_redo_blocked Extended event (which is disabled as default)
It will collect additional info that helps me point to the metadata's parent object.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
I'm looking at the Extended events session AlwaysOn_health.
One of the events is lock_redo_blocked and I'm trying to find the blocker.
First of all, I haven't found any documentation for this event. The only info I've found was in sys.dm_xe_object_columns and mentioned some of the columns.
I'm trying to figure out what does the resource_0 refer to in this picture:
the number is a bigint so it rules out object_id (which is int). I also haven't been able to match it to either partition_id or hobt_id.
Is there any way I can find the blocker after the fact?
I don't have data from sys.dm_exec_requests at that time (as advised here: troubleshoot-availability-group-exceeded-rto)
Thank you
I have figured it out. When I add an addition Event field resource_description to the lock_redo_blocked Extended event (which is disabled as default)
It will collect additional info that helps me point to the metadata's parent object.
Finding the blocking process after the fact is of course impossible. SQL Server does not record that to file or something. You need to set up some tracing to capture that, for instance with the blocked process report.
As for the resource id, did you try sys.alllocation_units?