1

こんにちは、SQL SERVER 2008 R2 を使用しています。2 つのデータベースがあります。

1] ABC (with only structure like schemas, tables but no data in the table) 
2] ABC1 (with schemas, tables and data in the tables)

スキーマとテーブルのレベルで比較を行ったところ、#1 ではなく #2 で変更されたテーブルが見つかりました。#1 でテーブルを変更するための変更スクリプトを生成する方法を知りたいですか? また、#1 にない Alter、Update & Create スクリプトを生成するにはどうすればよいですか? 1 番目は古い DB で、2 番目は新しい DB です。

4

3 に答える 3

3

このALTER Toオプションは、スクリプトテーブルのメニューオプションとして無効になっています。では、スクリプトを生成したい場合、どのようにそれを実行しますか?ええと、テーブルを変更するとき、この方法でそれを行うことはできません。

スクリプトを生成するには、最初に変更するテーブルを右クリックして、[デザイン]を選択します。

ここに画像の説明を入力してください

次に、新しい列を追加したり、フィールドタイプを変更したりします。変更が完了したら、任意の列または空白を右クリックすると、[変更スクリプトの生成]オプションが使用可能になります。

ここに画像の説明を入力してください

次に、そのファイルを保存すると、ALTERTABLEスクリプトが作成されます。

出典:SQLでALTERTABLEスクリプトを生成する方法

于 2012-08-29T06:40:58.503 に答える
1

SSMS が言うように、スクリプトを確認する必要がありますが、#2 のテーブルを右クリックし、[スクリプト テーブル] > [DROP And Create To] > [File...] を選択するだけです。

次に #1 でスクリプトを実行します。

#2 にあるデータの量 (および 2 つのデータベース間の違いを見逃す可能性) によっては、#2 のバックアップを復元してから、すべてのテーブルを切り捨てるスクリプトを実行する方が簡単な場合があります。

于 2012-08-29T06:37:44.780 に答える
0

同じDBスキーマを比較するためのソフトウェアを使用できます。このソフトウェアは、複数の DB 間でデータベース スキーマを比較した後、DB を統合するためのスクリプトを取得します。

たとえば、redgate ソフトウェアでは次のようになります。

ここに画像の説明を入力

  1. 選択したオブジェクトの比較結果を参照してください
  2. 統合したいオブジェクトを選択
  3. データベースの統合を開始します
于 2012-08-29T08:01:41.277 に答える