84

あるデータベースからデータを取得し、別のデータベース テーブルに挿入する方法は? 私はこれを行うことはできません。あるデータから別のデータへの転送を手伝ってください。

4

10 に答える 10

132

これを行うにはいくつかの方法があります。以下に 2 つのオプションを示します。

オプション 1 - コピーするデータベースを右クリック

  • [タスク] > [スクリプトの生成] を選択します

  • 「特定のデータベース オブジェクトを選択してください」

  • 「テーブル」にチェックを入れる

  • 「新しいクエリ ウィンドウに保存」をマークします。

  • [詳細] をクリックします。

  • 「スクリプトへのデータの種類」を「スキーマとデータ」に設定します

  • 次、次

生成されたクエリを新しいデータベースで実行できるようになりました。

オプション 2

  • コピーしたいデータベースを右クリック

  • 「タスク」 > 「データのエクスポート」

  • 次、次

  • テーブルをコピーするデータベースを選択します

  • 「1 つまたは複数のテーブルまたはビューからデータをコピーする」をマークします。

  • コピーするテーブルを選択します

  • 終了

于 2012-04-05T14:18:53.237 に答える
19

あるデータベース テーブルの値を同じ SQL Server で実行されている別のデータベース テーブルに挿入する例

insert into dbo.onedatabase.FolderStatus
(
  [FolderStatusId],
  [code],
  [title],
  [last_modified]
)

select [FolderStatusId], [code], [title], [last_modified]
from dbo.Twodatabase.f_file_stat
于 2015-06-20T07:10:57.530 に答える
7

両方のデータベースが同じサーバー上にあり、テーブル全体を転送する(コピーを作成する)場合は、単純なselectintoステートメントを使用します...

select * into anotherDatabase..copyOfTable from oneDatabase..tableName

次に、sysobjectsの上部にカーソルを書き込み、その方法でテーブルのセット全体をコピーできます。

より複雑なデータの抽出と変換が必要な場合は、SSISを使用して、適切なETLを構築します。

于 2012-04-05T13:48:28.820 に答える
7

Azure の場合は、Virus からの次の変更された指示に従ってください。

  1. SSMS を開きます。
  2. データのコピー元のデータベースを右クリックします。
  3. [スクリプトの生成] >> [特定のデータベース オブジェクトの選択] >> [転送するテーブル/オブジェクトを選択] を選択します。 強いテキスト
  4. [ファイルに保存] ペインで、[詳細設定] をクリックします
  5. 「スクリプトを作成するデータの種類」をスキーマとデータに設定します
  6. 「Script DROP and CREATE」をScript DROP and CREATEに設定します。
  7. [テーブル/ビュー オプション] で、関連項目を TRUE に設定します。念のため、すべてを TRUE に設定することをお勧めします。スクリプトは、生成後にいつでも変更できます。
  8. ファイルパスを設定 >> 次へ >> 次へ
  9. 新しく作成した SQL ファイルを開きます。ファイルの先頭から「使用」を削除します。
  10. 宛先データベースで新しいクエリ ウィンドウを開き、スクリプトの内容を (使用せずに) 貼り付けて実行します。
于 2016-03-15T17:29:28.697 に答える
3

複数のオプションがあり、ニーズに応じて異なります。次のリンクを参照してください。

  1. サーバー間でのデータのコピー
  2. SQL Server で、あるデータベースから別のデータベースにテーブルをコピーします
于 2012-04-05T12:54:29.423 に答える
3
  1. Management Studio を使用して、データベースをバックアップおよび復元できます。
  2. ここでも Management Studio から「データベースのコピー」を使用できます。
  3. そうする理由がある場合は、手動で行うこともできます。つまり、ターゲット データベースを手動で作成し、SQL ステートメントでデータを手動でコピーするということです...

なぜこれを尋ねるのか明確にできますか?それをするのに経験がないということですか、それとも何か他のことですか?

于 2012-04-05T12:44:47.687 に答える
2

これらのソリューションは、ターゲット データベースが空白の場合に機能します。両方のデータベースにすでにいくつかのデータがある場合は、もっと複雑なものが必要ですhttp://byalexblog.net/merge-sql-databases

于 2016-05-27T09:00:58.267 に答える
0

2 つの異なるデータベース間でプログラムによってこれを行うには、リンク サーバーを使用してスケジュールされたジョブが必要になる場合があります。ただし、リンク サーバーをセットアップするには、DBA レベルの知識が必要です。リンク サーバーを使用できない場合は、1. ソース テーブルから行を読み取り、2. それをターゲット テーブルに挿入するプログラムを作成します。プログラマは、ターゲット データベース テーブルへの INSERT 権限を持つ接続文字列を使用するだけです。私は両方のアプローチを使用してこの問題を解決しました。

于 2021-07-21T17:36:07.667 に答える