Loading...

We've detected that your browser language is Chinese. Would you like to visit our Chinese website? [ Dismiss ]
By: Dylan

企業がSQL Serverデータベースを別サーバーへ移行するケースは多く見られます。単なる「データ移動」ではなく、パフォーマンス向上、セキュリティ強化、信頼性改善、運用管理の効率化などを目的とする場合が大半です。どのような目的であっても、本記事ではSQL Serverを別サーバーへ移行する4つの手法を手順通りに解説します。

手法1.SQL Serverデータベースをバックアップし、別サーバーへリストア

バックアップ&リストアによるSQL Serverデータベースの移行は、最も普及し信頼性の高い手法の一つです。SQL Server Management Studio(SSMS)を利用して簡単に実施できます。

手順1.SQL Server Management Studio(SSMS)を起動し、移行元SQL Serverへ接続します。

手順2.「オブジェクトエクスプローラー」のデータベースを展開 → 移行対象のデータベースを右クリック →「タスク」→「バックアップ」を選択します。

手順3.バックアップ画面が表示されます。バックアップの種類を「完全」、バックアップコンポーネントを「データベース」に設定し、.bakファイルの保存先を指定した後、「OK」をクリックしてバックアップを開始します。

手順4.バックアップ完了後、保存先から.bakファイルを探し、移行先サーバーへコピーします。

手順5.SSMSを開き、「移行先SQL Server」へ接続します。

手順6.データベースを右クリック →「データベースの復元」を選択します。

手順7.「ソース」欄で「デバイス」を選択し、「…」ボタンをクリックします。

手順8.「追加」をクリックし、バックアップファイル(MyDatabase.bak)を指定します。

手順9.移行先欄にデータベース名を入力(名称はそのまま、または変更可能)。

手順10.左側の「ファイル」タブを開き、移行先サーバー上にMDF(データファイル)とLDF(ログファイル)の保存パスが存在するか確認します。

手順11.オプションタブへ移動。既存のデータベースへ上書きリストアする場合は「既存のデータベースを上書きする(WITH REPLACE)」にチェックを入れます。

手順12.「OK」をクリックし、リストアを実行します。

処理完了まで待機し、「データベース ‘MyDatabase’ は正常に復元されました」と表示されたら完了です。

手法2.SSMSを利用し、SQL Serverデータベースを別サーバーへコピー

.bakファイルを手動で扱いたくない場合は、SQL Server Management Studioに標準搭載されているデータベースコピーウィザードを使用し、サーバー間で直接データベースをコピーできます。

事前確認事項:

  • SSMSを実行する端末から、移行元・移行先双方のSQL Serverに通信可能であること。
  • 両サーバーにおいて、利用アカウントにsysadmin権限が付与されていること。
  • 両サーバーでSQL Serverエージェントが起動していること。

手順1.SSMSを起動し、移行元SQL Serverへ接続します。

手順2.「オブジェクトエクスプローラー」にて移行対象の「データベース」を右クリック。「タスク」→「データベースのコピー」を選択し、ウィザードを起動します。

手順3.「移行元サーバー」と「移行先サーバー」を選択。「SQL Server認証」または「Windows認証」を指定し、「次へ」をクリックします。

手順4.用途に応じてコピー方式を選択し、「次へ」をクリックします。

補足:
デタッチ&アタッチ方式:一時的にデータベースをデタッチし、ファイルを新サーバーへ転送後再アタッチします。高速ですが、転送中はデータベースがオフラインになります。停止時間が許容できる大容量データベースに適しています。
SQL管理オブジェクト(SMO)方式:データベースをオンラインに保ったままスキーマとデータをコピーします。処理速度は低速ですが停止時間が発生しないため、稼働継続が重要な環境に適します。

手順5.コピー対象のデータベースを選択し、ファイル移動に関する設定を行います。

手順6.コピー処理を即時実行するか、後日実行するスケジュールを設定します。

手順7.コピー完了後、SSMSから移行先SQL Serverへ接続します。データベース一覧を展開し、新規データベースが作成されていることを確認し、接続テストとデータ整合性検証を実施します。

運用Tips:

  • SQL Serverエージェント関連のエラーが出る場合は、SQL Server構成マネージャーまたはサービス(services.msc)から起動してください。
  • 大容量データベースやネットワークが分離された環境では、ウィザードがタイムアウトする場合があります。その際はバックアップ&リストア方式を利用してください。
  • 必ず本番以外の環境で事前検証を実施してください。

手法3.SQLスクリプトを利用し別サーバーへ移行

スクリプトによる移行もSQL Serverデータベース移行の手段の一つで、移行対象を細かく制御したい場合に適しています。

手順1.SQL Server Management Studioを起動し、移行元SQL Serverへ接続します。

手順2.オブジェクトエクスプローラーにて移行対象データベースを右クリック。「タスク」→「スクリプトの生成」を選択します。

手順3.「特定のデータベースオブジェクト」を選択し、テーブル、ビュー、ストアドプロシージャ、関数など出力対象を指定するか、「データベース全体およびすべてのデータベースオブジェクトのスクリプトを作成」を選択し全てを移行します。「次へ」をクリックします。

手順4.生成するスクリプトの保存先を指定します。

手順5.設定内容を確認し「次へ」をクリック。SSMSがSQLスクリプトを生成します。生成完了後「完了」をクリックします。

手順6.スキーマ(設定によりデータを含む)が記載された.sqlファイルが作成されます。SSMSで移行先SQL Serverへ新規接続を開きます。

手順7.作成した.sqlスクリプトファイルを開き、F5キー、または「実行」ボタンで実行します。

スクリプト実行完了後、「オブジェクトエクスプローラー」を更新し、すべてのオブジェクトが作成されているか確認します。

Tips:アプリケーションユーザーがSQLログインで接続する場合は、新サーバー上でログインを再作成し、データベースユーザーと紐付けてください。

CREATE LOGIN [AppUser] WITH PASSWORD = 'StrongPassword!';
USE [MyDatabase];
CREATE USER [AppUser] FOR LOGIN [AppUser];
EXEC sp_addrolemember 'db_datareader', 'AppUser';
EXEC sp_addrolemember 'db_datawriter', 'AppUser';

補足事項:

  • 非常に大きなデータベースの場合、スクリプトによるデータ出力は処理に時間を要します。
  • スクリプトはソース管理や繰り返しのデプロイ作業に適しています。

手法4.SQLサーバー移行に推奨されるソリューション

バージョンアップ、システム統合、クラウド導入を目的としてSQLデータベースを新サーバーへ移行する際、停止時間と複雑な作業が大きな課題となります。この課題に対応するため、多くのITチームがInformation2のi2Migrationを採用しています。リアルタイムシステム移行ソリューションであり、SQL Serverの継続的なレプリケーションを実現。物理/仮想、オンプレミス/クラウドといった異種環境のサーバーに対応し、リスクを抑えた計画的な切り替えを実現、業務を停止させません。

i2Migrationの主な機能:

  • 業務に影響を与えない移行:24時間稼働サービスに不可欠な、本番SQL Serverを運用し続けながら新サーバーへ移行可能。
  • 効率的なデータ転送:全行データをコピーするのではなく、初回同期後は変更ブロックのみレプリケーション。処理高速化とサーバー負荷の低減を実現。
  • 長距離環境に対応:遠隔データセンターやクラウドを移行先とする場合でも、ネットワークの飽和や障害を抑え安定して転送を実行。

i2Migrationを活用すれば、シームレスかつ安全にSQLデータベースを別サーバーへ移行できます。停止時間ゼロと完全なシステム移行を求める企業に最適な選択肢です。

まとめ

SQL Serverを別サーバーへ移行する代表的な4つの手法は以下の通りです。

  1. SSMSによるバックアップ&リストア
  2. データベースコピーウィザード
  3. SQLスクリプトの作成と実行
  4. i2Migrationによる自動化リアルタイム移行

各手法はそれぞれ適した利用シーンが存在します。安全かつ低リスク、効率的な段階的SQL Server移行を実現したい場合は、i2Migrationが総合的に最適なソリューションです。業務運用を中断することなく、スムーズにSQL Serverデータベースを別サーバーへ移行できます。

概要は準備中です
目次:
最新情報を購読
最新のインサイト、ニュース、限定コンテンツをお届けします。いつでも配信解除が可能です。
購読する
ビジネスデータのセキュリティ強化を始めませんか?
60日間の無料トライアルまたはデモで、Info2softが企業データをどのように保護するかをご確認ください。
フォームにご記入の上、送信してください。担当者より追ってご連絡いたします。
このフォームを送信することにより、 プライバシー通知を読み、同意したことを確認します。
{{ isSubmitting ? '送信中...' : '送信する' }}