ICE06
ICE06 は、すべてのテーブルをチェックして、_Validation テーブル に一覧表示されているすべての列がテーブルに存在することを検証します。 テーブルが存在しない場合、そのテーブルの_Validationエントリは無視されます。
ICE06 の目的は、更新されていない古いデータベースでのスキーマの変更を反映する新しい_Validation テーブルを作成者が使用しようとするインスタンスを検出することです。 ICE06 は、変更されたデータベースで使用されている古い_Validation テーブルの逆のケースも検出します。
ICE03 によって実行される内部検証では、列カタログにリストされている_Validation テーブルで定義されていないテーブル列のインスタンスがキャッチされることに注意してください。 そのため、ICE03 と ICE06 の両方を使用すると、データベース内のすべての列がテストされます。
結果
ICE06 は、_Columns テーブルにリストされていないテーブル列が _Validation テーブルに定義されている場合にエラーをポストします。
例
次の例では、ICE06 はメッセージを投稿します。
列: テーブルのバージョン: ModuleSignature がデータベースで定義されていません。
テーブル の _Validation (一部)
テーブル | コラム |
---|---|
ModuleSignature | ModuleID |
ModuleSignature | バージョン |
テーブル の _Columns (部分)
テーブル | 数 | 名前 |
---|---|---|
ModuleSignature | 1 | ModuleID |
ModuleSignature テーブルの Version 列がデータベースに含まれていないか、_Columnsテーブルに一覧表示されます。
関連トピック