トリガが起動しない場合、以下を確認する必要がある。
 1.トリガが無効になっていないか?
 2.トリガが作成される前に登録されたデータに対し、検証をしていないか?

以下、1,2に対する説明。
1.トリガが無効になっていないか?
 →トリガが無効に設定されている場合、トリガは起動しない。
  MSDNにも記述されているが、sp_configureサーバーオプションの"nested triggers"が有効になっていないとトリガは起動しない。

2.トリガが起動しない条件が2つ存在する。
 ・トリガの作成前に登録されている既存データは、検証されない。
  →制約等が用意される前に登録されているデータについては、そのままデータとして残る。
 ・以下の手順で操作した場合、トリガが起動しない。
  1.トリガを削除する。
  2.無効なデータを追加する。
  3.トリガを再作成する。
   →最初の条件と同様、2の操作が既存データとして認識されるため、無効なデータが存在してしまう。

【補足事項】
・SQL Server6.5→SQL Server2000以降へのアップグレード時の注意点
 →詳細は、MSDN参照。
・Accessを使ってトリガを起動した場合の問題点がある。
 →トランザクションは正常に動作するが、メッセージの表示が正常に動作しない。
  ADOを使ったプログラムでも同じ事象が再現するので、メッセージの表示は避けるしかない。
 →詳細は、[ACC2002] トリガが起動されても、トリガに記述したユーザー定義のエラーメッセージが表示されない参照