何らかの理由で、SQL Server 2008 で既存のテーブルに列を追加できません。
テーブルは空です。
SQL 2008 でテーブルを変更できないようにする設定はありますか?
何らかの理由で、SQL Server 2008 で既存のテーブルに列を追加できません。
テーブルは空です。
SQL 2008 でテーブルを変更できないようにする設定はありますか?
SSMSを使用してデータベース内のテーブルを設計してから、テーブル構造に変更を加えようとすると(最後にない列を追加するなど)、テーブルを再作成する必要があります。デフォルト設定では、再作成が必要な変更を保存することはできません。
あなたはできる:
警告
これがデフォルトとして設定されている理由は、テーブルの再作成が本番データベースで非常に有害である可能性があり、自動スクリプトが問題を引き起こす可能性があるというエッジケースがあることに注意してください。数十億行の複数のファイルグループに非常に複雑なパーティションテーブルがある場合はどうなりますか?テーブルの2つのコピーと非常に巨大なトランザクションログに必要な膨大なスペースが実際にあると仮定すると、これはデータベース全体を何時間も破壊し、とにかく最終結果を台無しにする可能性があります。または、新しいテーブルを挿入できなかった場合(null以外の列がデフォルトなしで追加された場合など)、スクリプトが適切に回復せずに挿入ステップに失敗し、空になる可能性があります。テーブル。
アイデア:最初にバックアップしてください!
リスクを理解していない場合は何もしないでください。
失われたデータの例
これは、このオプションを使用してデータを失った人の完璧な例です。警告しなかったとは言わないでください。
はい、設定を変更してこれを停止できます。詳細はこちら。