本日ハマったので、段取りを残す。
1.登場するファイル、データベースの一覧を取得する
2.登場するファイル、データベースのER図(関係図)をまとめる
3.ETLツールを調査し、生成元ファイルと生成先ファイルの関連性を整理する
4.トリガーイベントが隠れていないか・・・確認する
5.ETLツール以外にデータにアタッチしていないか確認する
トリガーイベントは基本使わないだろう・・・とう認識があったので、
完全見落としており、ずっと「なんでこのDBのデータが生成されているんだろう?」と
悩んでいた。
ホスト系の開発ですと、トリガーを利用する意識がなく、調査のフレームに入っていなかたのですが、GUI系のシステムならばどうも使っている傾向があるようである。
SQLServerでは、このサイトで確認方法を見たので、記述。
select tr.name as trigger_name, ta.name as table_name, tr.is_disabled as disabled
from sys.triggers as tr
inner join sys.tables as ta on tr.parent_id = ta.object_id
リンク先のSQLにはdisabledの記述は記載がなかったが、トリガーが無効になっているか否かも調べておいたほうが後々説明する場合、及び自身の仮説を作成するのに利用できます。