ICE06

ICE06 は、すべてのテーブルをチェックして、 _Validation テーブル に一覧表示されているすべての列がテーブルに存在することを検証します。 テーブルが存在しない場合、そのテーブルの _Validation エントリは無視されます。

ICE06 の目的は、更新されていない古いデータベースで、スキーマ変更を反映した新しい _Validation テーブルを作成者が使用しようとする事例を検出することです。 ICE06 では、変更されたデータベースで古い _Validation テーブルが使用されるという逆のケースも検出されます。

ICE03 によって実行される内部検証では、columns カタログにリストされている、_Validation テーブルに定義されていないテーブル列のインスタンスがキャッチされることに注意してください。 したがって、ICE03 と ICE06 の両方を使用すると、データベース内のすべての列がテストされます。

結果

ICE06 では、_Columns テーブルにリストされていないテーブル列が_Validation テーブルに定義されている場合にエラーを返します。

次の例では、ICE06 によりメッセージが送信されます

Column: Version of Table: ModuleSignature is not defined in database. (列: テーブルのバージョン: ModuleSignature がデータベースで定義されていません。)

_Validation テーブル (一部)

テーブル
ModuleSignature ModuleID
ModuleSignature バージョン

 

_Columns テーブル (一部)

テーブル number 名前
ModuleSignature 1 ModuleID

 

ModuleSignature テーブルの Version 列は、データベースに含まれていないか、_Columns テーブルに一覧表示されていません。

ICE リファレンス