sql >> データベース >  >> RDS >> Sqlserver

SQL Serverでテーブルをあるデータベースから別のデータベースにコピーするための完全なプロセス(エクスポート-インポート)

    DBAとして、ユーザーは、同様のインスタンスまたは代替SQLインスタンスで、あるデータベースから別のデータベースにテーブルをコピーする必要がある場合があります。たとえば、テストまたはトラブルシューティングの目的で、作成データベースからDEVデータベースに明示的なテーブルを複製します。

    SQL Serverは、テーブルのデータとアウトラインのコピー手順を実行するために利用できる多くの手法を提供します。これらのテクニックをすべて体験するために、以下の状況を検討します。

    重要な注意: SQLデータベースの破損の問題に直面していて、重要なSQL Serverデータベースオブジェクトを復元したい場合、ユーザーは SysToolsの助けを借りることができます。 SQLデータベースリカバリソフトウェア 。このソフトウェアは、MDFおよびNDFファイルから破損の問題を取り除き、削除されたデータベースオブジェクトを回復することもできます。このソフトウェアは、Microsoft SQL Server 2019、2017、2016、2014、2012以下のバージョンをサポートしています。詳細については、ユーザーはここからソフトウェアのデモバージョンを試すことができます。

    テーブルをコピーするには、ソースサーバーと宛先サーバーの明示的なデータベースにアクセスする必要があります。ここで

    知識-あるデータベースから別のデータベースにテーブルをコピーする方法

    ソースデータベース:TechForums19

    宛先データベース:TechForums20

    1。)クエリを使用してテーブルをコピーする

    この戦略では、 SELECTを利用します INTO クエリ。

    *からを選択します TechForums20.userforum.user TechForums19.userforum.userから

    上記のクエリはテーブルスキーマとデータのみをコピーしますが、その時点でオブジェクト、インデックス、トリガー、制約をコピーしたい場合は、SQLクエリ/コマンドでは想像もできません。この記事の後半で、データベースオブジェクトをコピーする方法について説明します。

    2。)SQL ServerManagementStudioの利用

    SQL Serverでテーブルをコピーするための戦略は、SQL ServerManagementStudioでアクセスできるエクスポートおよびインポートウィザードです。この選択では、クライアントは、宛先データベースからインポートするか、ソースデータベースからエクスポートしてデータを移動/コピーするかを決定します。

    SQL Serverでテーブルをあるデータベースから別のデータベースにコピーするには、以下の手順に従います。

    • SQL Server Management Studioを実行します ( SSMS
    • オブジェクトの内部 エクスプローラー 、TechForums19データベースを右クリックして、タスクに移動します>データのエクスポートコマンドを選択します 。
    • この進行で、サーバーを決定します 名前認証 方法 、およびソースデータベース名 、[次へ]をクリックします 。

    • この進行では、宛先データベース名を指定します 次へをクリックします 。

    • 1つ以上のテーブルからデータをコピーを選択します または表示して、次へをクリックします 。

    • ここで、[ソーステーブルとビューの選択]ウィザードが画面に表示されます。次に、下に表示されているように、ソースデータベースから宛先データベースにコピーする必要のあるテーブルを選択します。

    注:選択したテーブルが宛先の場所に作成されるようにするため。その後、[マッピングの編集]オプションをクリックし、[宛先テーブルの作成]オプションを選択します。

    テーブルにID列がある場合は、[ID挿入を有効にする]オプションをオンにして、[ OK]をクリックします。 ボタン。

    • 編集を使用してすべてのテーブルをチェックした後 マッピング 、[次へ]をクリックします [ソーステーブルとビューの選択]で 。
    • 保存して実行するウィザード この進行で開きます。次へをクリックします。 。

    • 完了をクリックします。

    :ソースデータベースと宛先データベースの両方の正しい名前を指定して、テーブルを1つのデータベースから次のデータベースに移動するようにしてください。

    SQL Server Management Studioを使用してテーブルSQLServerをコピーします はアクティビティを終了するための簡単な方法ですが、テーブルのインデックスとキーの移動/コピーに失敗します。

    さらに、テーブルリストとキーをコピーする必要がある場合は、スクリプトの生成戦略を使用する必要があります。

    3)生成スクリプトの利用

    この手法により、テーブルダイアグラムと情報、およびアイテム、レコード、トリガー、制限、キーなどをコピーできます。

    SQL Serverで、あるデータベースから次のデータベースにテーブルを完全にコピーするコンテンツを作成するための以下の手段を体験してください。

    1. SQLを実行します サーバー
    2. データベースを右クリックします 名前 次に、タスクに移動します>生成 スクリプト
    3. スクリプトウィザードが開き、次へをクリックします
    4. 次に、スクリプトを生成するために必要なデータベースを選択します。
    5. オブジェクトを選択します タイプ
    6. テーブルを選択します コピーします。
    7. 出力の選択肢を選択します スクリプト用。
    8. データベース名を、スクリプトを実行するために必要な名前に変更します。

    SQL Serverデータベースに関連するプロジェクトまたは職業を開始した時点では、オフベースまたは誤った実行、あるいはデータベースファイルの処理がひどいために、データが失われたり、SQLServerデータベースファイルが破損したりする危険性がわずかにあります。アクセスできないMDF/NDFデータベースファイルからデータを取り戻すことは実際には考えられないことが判明したため、失望をもたらす基本的な状況があります。

    SQL Serverデータベースファイルの破損または損傷の状況では、MSSQLリカバリを利用することをお勧めします ツール 。このツールは、クライアントにデータベースアイテムの完全な制御を提供し、ファイルサイズの制限を設定しません。

    さらに、SQLServer2000から2019までの幅広いMicrosoftSQLServerフォームでうまく機能しているため、フレームワークで実行しているSQLServerのバリアントに関係なく。

    また読む: SQLServerトランザクションログからデータを回復する方法。

    まとめ

    あるデータベースから別のデータベースへのテーブルの移動またはコピーは簡単ですが、いくつかの手法は長く、非常に気が遠くなるようなものです。手順中に問題が発生した場合、データとデータベースファイルの両方がファイル破損の危険性が高くなります。 。このようにして、そのような状況と戦うためにSQLリカバリ ツール、エキスパートSQLリカバリツールはインターネットからアクセスできます


    1. Oracleの日付の減算-数値または間隔のデータ型?

    2. SQLAlchemy-テスト用のSQLiteと開発用のPostgresql-移植方法は?

    3. SQLServerレプリケーションプロジェクトで誤った形式のエラーのあるプログラムを読み込もうとしました

    4. PostgreSQL INSERT ON CONFLICT UPDATE(upsert)は、除外されたすべての値を使用します