最善の方法は、トリガーを回避し、挿入する前に存在するかどうかを確認することです
IF NOT EXISTS (SELECT TOP 1 1 FROM MyTable WHERE @InsertedEndDate > begin_date AND @InsertedBeginDate < end_date)
BEGIN
--do actual insert/work
END
最初のオーバーラップを見つけるための簡単なチェックです。 Select TOP 1 1 は、実際にデータをフェッチしないようにするためのトリックです。実際に保存しようとしている日付範囲と重なる行に一致するとすぐに返されます