February 19, 2008 at 2:27 pm
I was having issues earlier today with a memory chip.
Now, when I try to run DBCC CHECKDB on a particular database, it shows up as self-blocking under the current activity. When the application hit the database it was doing the same thing as well.
This has been at 200 SP4 for quite sometime. I am in the process of restoring an even earlier backup - 2 days ago - in hopes it is something with the data files (but it is 27 GB so it will be a while). But I am totally clueless!
February 19, 2008 at 3:56 pm
Self blocking usually means that the process is waiting is waiting on hardward resources that are currently in use by that process. This usually happens when the process is I/O intensive and the thread is waiting on the disk resource. It is not really blocking itself in the terms we normally think of blocking (database locks); rather, it is waiting on resources.
Run a SELECT * FROM Sysprocesses and look at the lastwaittype for the self-blocked process. This will show you what it is waiting on.
February 19, 2008 at 4:59 pm
There are a bunch of CXPacket waittypes and then the waittypes that are blocked are LATCH_EX and PAGEIOLATCH_UP. I found some postings that it may have to do with the number of CPUs configured for parrallellism. This one has 8 - but this hasn't changed recently so I'm not too optomistic this will solve the issue, but worth a look!
February 20, 2008 at 9:06 am
My blocking issue was actually expected by the application. Because they were trying to update the database with almost a days worth of data and communications channels hadn't properly been closed before we started back up after the memory repair.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply