Ik heb dat artikel gezien, maar merk op dat ik voor lage uitvalpercentages de voorkeur geef aan het "JFDI" -patroon. Ik heb dit eerder gebruikt op systemen met een hoog volume (40k rijen/seconde).
In de code van Aaron kun je nog steeds een duplicaat krijgen als je eerst onder hoge belasting en veel schrijfbewerkingen test. (hier uitgelegd op dba.se ) Dit is belangrijk:uw duplicaten gebeuren nog steeds, alleen minder vaak. U moet nog steeds uitzonderingen afhandelen en weten wanneer u de dubbele fout (2627) moet negeren
Bewerken:beknopt uitgelegd door Remus in een ander antwoord
Ik zou echter een aparte TRY/CATCH hebben om alleen te testen voor de dubbele fout
BEGIN TRY
-- stuff
BEGIN TRY
INSERT etc
END TRY
BEGIN CATCH
IF ERROR_NUMBER() <> 2627
RAISERROR etc
END CATCH
--more stuff
BEGIN CATCH
RAISERROR etc
END CATCH