私はその記事を見ましたが、失敗率が低い場合は「JFDI」パターンを好むことに注意してください。以前、これを大量のシステムで使用しました(40k行/秒)。
Aaronのコードでは、高負荷と大量の書き込みの下で最初にテストするときに、重複を取得する可能性があります。 (ここでdba.se で説明されています )これは重要です。重複はまだ発生しますが、発生頻度は低くなります。まだ例外処理が必要であり、重複エラー(2627)をいつ無視するかを知る必要があります
編集:別の回答でRemusによって簡潔に説明されています
ただし、のみをテストするために別のTRY/CATCHが必要です。 重複エラーの場合
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