Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
企業がSQL Serverデータベースを別サーバーへ移行するケースは多く見られます。単なる「データ移動」ではなく、パフォーマンス向上、セキュリティ強化、信頼性改善、運用管理の効率化などを目的とする場合が大半です。どのような目的であっても、本記事ではSQL Serverを別サーバーへ移行する4つの手法を手順通りに解説します。
バックアップ&リストアによる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’ は正常に復元されました」と表示されたら完了です。
.bakファイルを手動で扱いたくない場合は、SQL Server Management Studioに標準搭載されているデータベースコピーウィザードを使用し、サーバー間で直接データベースをコピーできます。
事前確認事項:
手順1.SSMSを起動し、移行元SQL Serverへ接続します。
手順2.「オブジェクトエクスプローラー」にて移行対象の「データベース」を右クリック。「タスク」→「データベースのコピー」を選択し、ウィザードを起動します。
手順3.「移行元サーバー」と「移行先サーバー」を選択。「SQL Server認証」または「Windows認証」を指定し、「次へ」をクリックします。
手順4.用途に応じてコピー方式を選択し、「次へ」をクリックします。
補足:
デタッチ&アタッチ方式:一時的にデータベースをデタッチし、ファイルを新サーバーへ転送後再アタッチします。高速ですが、転送中はデータベースがオフラインになります。停止時間が許容できる大容量データベースに適しています。
SQL管理オブジェクト(SMO)方式:データベースをオンラインに保ったままスキーマとデータをコピーします。処理速度は低速ですが停止時間が発生しないため、稼働継続が重要な環境に適します。
手順5.コピー対象のデータベースを選択し、ファイル移動に関する設定を行います。
手順6.コピー処理を即時実行するか、後日実行するスケジュールを設定します。
手順7.コピー完了後、SSMSから移行先SQL Serverへ接続します。データベース一覧を展開し、新規データベースが作成されていることを確認し、接続テストとデータ整合性検証を実施します。
運用Tips:
スクリプトによる移行も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';
補足事項:
バージョンアップ、システム統合、クラウド導入を目的としてSQLデータベースを新サーバーへ移行する際、停止時間と複雑な作業が大きな課題となります。この課題に対応するため、多くのITチームがInformation2のi2Migrationを採用しています。リアルタイムシステム移行ソリューションであり、SQL Serverの継続的なレプリケーションを実現。物理/仮想、オンプレミス/クラウドといった異種環境のサーバーに対応し、リスクを抑えた計画的な切り替えを実現、業務を停止させません。
i2Migrationを活用すれば、シームレスかつ安全にSQLデータベースを別サーバーへ移行できます。停止時間ゼロと完全なシステム移行を求める企業に最適な選択肢です。
SQL Serverを別サーバーへ移行する代表的な4つの手法は以下の通りです。
各手法はそれぞれ適した利用シーンが存在します。安全かつ低リスク、効率的な段階的SQL Server移行を実現したい場合は、i2Migrationが総合的に最適なソリューションです。業務運用を中断することなく、スムーズにSQL Serverデータベースを別サーバーへ移行できます。