運用されているデータベースを変更するときの問題
更新 : 2007 年 11 月
配置されているデータベースの構成を変更する場合は、既存のデータおよびデータベース構成との互換性を保って変更を行うよう、特別な注意を払う必要があります。次の変更を行うときは、特別な手順が必要になる場合があります。
制約の追加 制約を追加する場合は、その制約を満たさないデータがデータベースに既に存在している可能性があります。新しい制約を保存しようとすると、[保存前の通知] ダイアログ ボックスが表示されて、データベース サーバーが新しい制約を作成できないことが通知されます。新しい制約をデータベースに強制的に設定するには、[作成時に既存データを確認する] チェック ボックスをオフにします。詳細については、「方法 : CHECK 制約作成時に既存のデータを確認する」を参照してください。
リレーションシップの追加 リレーションシップを作成する場合は、主キー テーブルの行に対応していない外部キー テーブルの行が既に存在している可能性があります。つまり、既存のデータが参照整合性を満たしていない可能性があります。新しいリレーションシップを保存しようとすると、[保存前の通知] ダイアログ ボックスが表示されて、変更された外部キー テーブルをデータベース サーバーが保存できないことが通知されます。変更をデータベースに強制的に保存するには、[作成時に既存データを確認する] チェック ボックスをオフにします。詳細については、「方法 : CHECK 制約作成時に既存のデータを確認する」を参照してください。
インデックス付きビューに含まれるテーブルの変更 Microsoft SQL Server のインデックス付きビューに含まれるテーブルを変更する場合は、ビューのインデックスが失われます。インデックスの作成方法については、『SQL Server Books Online』を参照してください。
オブジェクトの削除 列、テーブル、またはビューなどのオブジェクトを削除する場合は、まずデータベース内の他のオブジェクトがそのオブジェクトを参照していないことを確認します。
データベースのデザインを変更する場合は常に、変更の履歴を残しておく必要があります。1 つの方法として、実行時用データベースに対して行ったすべての変更について、SQL スクリプトを残しておくことができます。