0

主キーを持つ新しい列をデータベースに追加しましたが、その中にデータがあります。ただし、データをバックアップしてから、新しい列/主キーを使用して新しいデータベースに復元したいと考えています。データベースを復元するときに、新しい列が削除されないようにするために選択できるオプションがあり、そこに新しい列を含むデータベースを挿入するだけです (この新しい列にはデフォルト値もあります)。

ありがとう

4

2 に答える 2

2

バックアップと復元のプロセスでは、データの正確なスナップショットが作成され、同じように復元されます。2 つのデータベースを「マージ」する場合は、追加された列、テーブル、およびデータの両方を本番データベースにスクリプト化する必要があります。これには、SQL 管理スタジオのツールがあります。

再コメント

キーのインデックスを削除しても、基になるデータには影響しません。キーの作成中はアクセスがブロックされる場合があります (クラスター化インデックスは、データがデータ ファイルに格納される順序です)。dev と prduction の間でデータを転送する場合は、dev のコピーを予備のデータベースとして prod サーバーに復元し、2 つのデータベース間で挿入をスクリプト化する方が速い場合があります。注 SQL は復元を真剣に受け止め、すべてのリソースを使用して可能な限り迅速に復元を行うため (他のすべての SQL プロセスに損害を与えます)、バックアップの前にデータを転送する必要のないすべてのテーブルを切り捨てます。

主キーは、一意の各行の ID を決定するインデックスです。custered インデックスは、データがファイルに格納され、アクセスされる順序を決定します。同じ主キー (一意ではない可能性があります) を持つ 2 つの行がある場合、SQL はバックグラウンドで一意化列を追加します。SQL は、新しいクラスター化インデックスが実装されている間、テーブルをロックします。基になるデータ自体は変更されません。

于 2013-05-29T13:01:07.390 に答える