We have a table that has around 500 rows.
I ran DELETE FROM Table WHERE PKID = 1 and the query ran for over 5 minutes before I finally killed it.
I backed up the database and restored to another server, same issue.
After I dropped all the FK constraints and dropped the table itself, I created an exact duplicate an reloaded with the same data and I was then able to delete the row.
I checked the FK constraints and verified they did not have cascade update or deletes (they were set to NO ACTION).
When the DELETE query ran in Activity Monitor I would see wait types of PAGEIOLATCH_SH and CXPacket which swap around for suspended.
The CPU spikes to around 40%.
As for parallelism, I tried setting it to 1 (vs the default of 0) for Max Degree of Parallelism.
After setting it to 1 and trying again, no change (still ran for a while and I killed it).
I am uncertain as to what is causing this.
As I have a backup of the database and I can replicate this issue by restoring it and trying again to delete a row I'd really like to investigate this and understand the root cause.
Thoughts/suggestions/ideas?
This is SQL Server 2008 (not R2)