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

SQLServerデータベースをあるインスタンスから別のインスタンスにコピーする方法

    データベースのコピーまたは移動は、さまざまな環境にスクリプトまたは新しいソリューションを展開することを定期的に処理するデータプロフェッショナルにとって最も一般的なタスクの1つです。 SQL Serverを使用すると、サードパーティのツールを使用せずにこれをネイティブに実現する方法が複数あります。

    SQLServer内のネイティブソリューション

    SQLServerでこのタスクをネイティブに実行する方法は次のとおりです。

    • SQL Server内では、通常、ソースデータベースでデータベースの完全バックアップを実行し、それをターゲットサーバーにコピーしてから、復元します。これは、初心者やDBAの役割を持たない専門家にとっては困難な作業になる可能性があります。適切なスクリプトソリューションがない限り、問題が発生し、巨大なデータベースを処理しているときにこれを達成するのに苦労する可能性があります。
    • もう1つのオプションは、detach\attachメソッドです。この方法は一般的に使用されていますが、大規模なデータベースや、多数のデータやログファイルを含むデータベースを扱う場合も注意が必要です。また、このアプローチを使用している間、ソースデータベースはオフラインになります。経験豊富なデータベース管理者でない限り、大規模なデータベースを処理しているときに問題が発生する可能性があります。

    データベースのコピーウィザードやデータのインポート/エクスポートの目的でデータのインポート/エクスポートウィザードを使用するなど、使用できるオプションは他にもあります。また、ソースサーバーからのログインとアクセス許可がターゲットサーバーに正しく移行されていることを確認する必要があります。そうしないと、アプリケーションユーザーがデータベースに正しく接続する際に問題が発生する可能性があります。

    dbForge Studio for SQL Serverを使用して、データベースをあるインスタンスから別のインスタンスに、またはあるサーバーから別のサーバーにコピーまたは移動する

    サードパーティのソフトウェアについては、DevartのdbForge Studio for SQL Serverには、データベースのコピーまたは移動をいくつかの簡単な手順で実行するための優れた機能が製品に組み込まれています。この記事のデモでプロセスを確認します。

    試用版は1か月間続き、製品に組み込まれている他の機能をテストするのに十分な時間があります。このデモでは、Enterprise試用版5.5を使用します。

    dbForge Studioを実行すると、この画面が表示され、データベース接続の詳細が更新されます。これにより、SQLServerインスタンスに接続できるようになります。

    他のSQLインスタンスへの追加の接続を実行するには、新しいデータベース接続のウィンドウを開くアイコンをクリックします。

    以下に、既存のSQLインスタンスへの接続がすでに確立されていることがわかります。

    SQL Serverインスタンスに接続すると、インスタンス間でコピーまたは移動する予定のデータベースを表示できます。このデモでは、データベースのテストをコピーします。 SQLインスタンスから:BoulcottからBoulcott\INST2。

    テストをコピーするには データベースをINST2に移動し、データベース同期に移動します メインタブのオプションをクリックし、データベースのコピーをクリックします 。

    [データベースのコピー]ウィンドウが開きます。ここで、ソースサーバーとターゲットサーバーの詳細を入力できます。このデモでは、同じマシン上にあるインスタンス間でデータベースをコピーしています。 dbForgeツールを使用して、異なるサーバー間でデータベースをコピーすることもできます。図のようにサーバーの詳細を入力し、接続が成功したことを確認してから、[次へ]をクリックします 。

    完了すると、ソースサーバーで使用可能なデータベースのリストが表示されます。コピーする予定のデータベースを選択します。この例では、テストです。 データベース。 コピーを選択します オプションのチェックボックスをオンにして、次へをクリックします 。ここでは、コピーするデータベースを1つだけ選択しました。ただし、同時にコピーまたは移動する複数のデータベースを選択できるため、ツールは一度に1つのデータベースに限定されません。

    ターゲットデータベースの場所のオプションを選択

    ご覧のとおり、ターゲットデータベースのデータとログファイルの場所は、使用する予定の場所に変更できます。値は自動生成されますが、簡単に変更できます。ターゲットデータベースの名前も変更できます。

    次へをクリックします 。 [設定の転送]ウィンドウが表示されます。 SQLServerエージェントアカウントにコピー操作を実行するための十分な権限があることを確認する必要があります。 SQL Serverエージェントアカウントに必要な権限がない場合、問題が発生する可能性があるため、このセクションを注意深く確認してください。私の場合、インスタンスは同じサーバー内にあるため、共有フォルダーディレクトリは必要ありません。ただし、異なるサーバー上のSQLインスタンス間でデータベースをコピーする必要がある場合は、SQLエージェントアカウントに対して十分な権限を持つ共有フォルダーディレクトリが必要です。レビューが完了したら、[次へ]をクリックします 。

    [ログインのコピー]タブで、要件に基づいて正しいオプションを決定できます。デフォルトでは、選択したデータベースで使用されるすべてのログインをコピーします 有効になっています。ケースに適切な選択を行い、確認して、[次へ]をクリックします 。

    dbForgeStudioを使用してコピープロセスを実行します

    以下のスクリーンショットは、コピータスクの実行プロセスを開始できる場所を示しています。実行プロセス中に可能なエラー処理のタイプを選択するオプションがあります。デフォルトでは、ユーザーにアクションを促す が選択されています。このデモでは、ログファイルにレポートを書き込むオプションも有効にしました。 これは、あらゆる種類のエラーに対処するのに便利です。エラーログは非常に冗長であり、プロセス障害の理由を詳細に示します。完了したら、実行をクリックします 実行プロセスを起動するオプション。

    実行タスクの進行状況を表示できます。

    コピープロセスの完了

    プロセスが完了すると、コピープロセスが完了したことを確認するこの通知が表示されます。

    ログファイルを表示をクリックする オプションで、プロセス実行の詳細と完了したタスクのステータスを確認できます。 [もっとコピー]をクリックすると、さらにコピー操作を実行できます。 オプション。

    ターゲットSQLインスタンスを確認する

    次のステップは、ターゲットSQLインスタンスに接続し、データベースがコピーされていることを検証することです。ターゲットSQLインスタンスには、テストがあります。 dbForge Studio forSQLServerを使用して正常にコピーされたデータベース。

    データベースをソースからターゲットSQLインスタンスに移動する

    以前は、データベースをソースサーバーからターゲットサーバーに正常にコピーできました。代わりにデータベースを移動する必要がある場合は、このツールと前のデモを使用することもできます。

    [データベースの選択]ウィンドウで、[移動]を選択します オプション。

    これは基本的に、データベースをソースサーバーからターゲットサーバーに移行します。前述の手順を実行するだけです。ターゲットサーバーでSQLServerエージェントを意図的に停止し、このエラー画面が表示されました。

    いいえをクリックすると 、ログファイルを表示するオプションが表示されます。

    [ログファイルを表示...]ボタンをクリックすると、実際の障害の理由を特定できる詳細なログファイルに移動します。

    ここでは、操作が失敗した理由を正確に確認できます。また、実行中にSQLエージェントジョブがターゲットサーバー上に作成され、表示できることもわかります。

    このジョブは実行プロセスの期間中のみ存在し、プロセスが完了すると削除されます。ターゲットSQLインスタンスとソースSQLインスタンスの両方に接続して、データベースが実際に移動したことを確認します。以下のスクリーンショットは、データベース1と2がソースサーバーからターゲットサーバーに正常に移動されたことを確認しています。

    データベースをソースSQLインスタンスからターゲットSQLインスタンスにコピーし、オーバーライドします

    これまで、データベースをソースサーバーから宛先サーバーにコピーして移動しました。次に、追加の手順を実行して、WideWorldImportersデータベースをコピーしてオーバーライドします。

    このプロセスは、データベースをコピーまたは移動する前の手順と似ていますが、オーバーライドを選択するための追加の手順が1つだけあります。 オプション。

    以前に行ったのと同様の残りの手順に従うだけで、プロセスが完了するとプロセスは成功します。要約すると、データベースのコピーを使用します dbForge Studioツールのオプションを使用すると、次の機能を実行できます。

    • データベースをソースサーバーからターゲットサーバーにコピーします
    • データベースをソースサーバーからターゲットサーバーに移動します
    • データベースをソースサーバーからターゲットサーバーにコピーして上書きします
    • データベースをソースサーバーからターゲットサーバーに移動して上書きする

    結論

    • このデモでは、dbForge Studioを使用して、ごくわずかなユーザー入力でデータベースをあるSQLインスタンスから別のSQLインスタンスに簡単にコピーできることを確認しました。
    • このツールのもう1つの利点は、複数のデータベースを一度に異なるインスタンス間でコピーまたは移動できることです。
    • ツールはユーザーフレンドリーでGUIベースであるため、これらのタスクを実行するために必要な技術的専門知識はほとんどありません。
    • このツールは、さまざまなサーバー環境に展開を迅速に展開する場合や、時間が制約になる場合に特に便利です。

    便利なツール:

    dbForge Studio for SQL Server – SQL Serverの管理、管理、開発、データレポート、および分析のための強力なIDE。


    1. to_date()がPostgreSQLでどのように機能するか

    2. CRYPT_GEN_RANDOM()を使用して、SQLServerで暗号化されたランダム番号を作成します

    3. どのくらいの頻度でデータベースをバックアップする必要がありますか?

    4. SQL Serverで小文字を大文字に変換する方法– UPPER()