Idag behövde jag ta bort ca 300 rader och kunde få ut berörda rader med en SELECT fråga. För att ta bort en rad behövde jag köra en stored procedure för att även ta bort relaterande data. Detta löstes smidigt genom följande script som jag hittade på Stackoverflow:

declare @field1 int
declare @field2 int
declare cur CURSOR LOCAL for
    select field1, field2 from sometable where someotherfield is null

open cur

fetch next from cur into @field1, @field2

while @@FETCH_STATUS = 0 BEGIN

    --execute your sproc on each row
    exec uspYourSproc @field1, @field2

    fetch next from cur into @field1, @field2
END

close cur
deallocate cur