I'm troublshooting some deadlock issues we have going on. All indication points to the following query but I'm actually not sure how valid it is. The orginial Dev is updating a table and using that table as a subquery for the where clause seems a bit fishy to me. All thoughts on will be helpful. Thanks. UPDATE Queue SET LastProcessedBy = @OwnerName, ReadyForProcessing = dateadd(ss, @VisibilityTimeoutSeconds, @Now), @ID = Queue.ID, ProcessingAttempts = ProcessingAttempts + 1 WHERE ID = (SELECT TOP 1 ID FROM Queue WHERE ReadyForProcessing < @Now AND OKToProcess = 1 ORDER BY ProcessingAttempts, ReadyForProcessing)