I have a stored procedure which takes about 5 seconds to run. If I call it from a DTS step it takes about 5 minutes to run. The code is like this. (except that I have three loops through the cursor calling 3 different stored procedures) The stored procedures perform updates / inserts and deletes <code> DECLARE CursorName CURSOR FOR SELECT Name FROM Table OPEN CursorName FETCH NEXT FROM CursorName INTO @name WHILE @@FETCH_STATUS = 0 BEGIN SELECT @Output = @Name + 'stuff' EXEC (@Output) FETCH NEXT FROM CursorName INTO @name END CLOSE CursorName DEALLOCATE CursorName </code> From my initital use of performance monitoring it's showing very few log flushes when run from the DTS package (I get a burst then nothing for 30 seconds or so). I also get 180k lock requests/ sec. I'm not geting any lock timeouts or waits or deadlocks. Anyone got an idea as to what might be happening here?