He visto ese artículo, pero tenga en cuenta que para tasas de falla bajas, preferiría el patrón "JFDI". He usado esto en sistemas de alto volumen antes (40k filas/segundo).
En el código de Aaron, aún puede obtener un duplicado cuando prueba primero con mucha carga y muchas escrituras. (explicado aquí en dba.se ) Esto es importante:sus duplicados aún ocurren, solo que con menos frecuencia. Todavía necesita el manejo de excepciones y saber cuándo ignorar el error duplicado (2627)
Editar:explicado sucintamente por Remus en otra respuesta
Sin embargo, tendría un TRY/CATCH separado para probar solo por el error de duplicado
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