Loading...

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

はじめに

SQL Serverデータベースの移行または複製は、DBAやIT管理者が頻繁に実施する業務の一つです。

ハードウェア更新、災害復旧、クラウド移行、負荷分散、環境クローニングなど、様々な場面でサーバー間で安全かつ効率的にデータベースをコピーする手段が必要となります。

しかし、手法を誤って選択すると以下のリスクが発生します。

  • 予期せぬ業務停止
  • データ不整合
  • ログイン情報やSQLエージェントジョブの欠損
  • アプリケーション接続障害

本ガイドではMSSQLデータベースを別サーバーへコピーする手法を解説し、4種類の無料手段を比較し、実環境に適した方法の選び方を紹介します。

mssql-database-copy-to-another-server

要点まとめ

SQL Serverデータベースを別サーバーへコピーするには、バックアップ&リストア、デタッチ&アタッチ、データベースコピーウィザード、スクリプト生成の4つの手法が利用可能です。中でもバックアップ&リストアが最も普及しており、安定性に優れ、大容量データベースや異なるSQL Server環境間の移行に対応します。

MSSQLデータベースを別サーバーへコピーする場面

データベースのコピーは主に下記シナリオで必要となります。

シナリオ 目的
ハードウェア更新 高性能な計算機またはストレージへ移行
クラウド移行 オンプレミスからクラウドへの切り替え
災害復旧対策 遠隔拠点にデータの冗長環境を構築
負荷分散 読み込み・書き込み業務を分離
コンプライアンス対応 機密データを隔離
テスト・開発環境 データベースのクローンを作成

いずれの場合も、データの完全性確保、停止時間の最小化、ログイン情報と権限の整合維持が重要です。

手法の選定基準

適切な手法の選択は、データベース容量、許容可能な停止時間、環境の複雑さに依存します。

select-mssql-database-copy-to-another-server

👉 本番環境で運用するシステムの場合、既定の選択肢としてバックアップ&リストアが最も安全です。

MSSQLデータベースを別サーバーへコピーする実証済み4つの手法

下記に実績のある移行手法を記載します。単純なものから企業向けまで分類しています。各手法は複雑さ、自動化機能、必要な停止時間、拡張性が異なるため、データベース規模、業務継続要件、運用目標に合わせて選定してください。

手法1:バックアップ&リストア(推奨)

安定性と予測性に優れ、多くの本番環境で活用される最も普及した手法です。

利用に適した場面:

  • 本番データベースの移行
  • サーバーをまたいだ移行
  • 大容量データベースの移送

手順1. 完全バックアップを作成

SQL Server Management Studio(SSMS)にて実行:

SQL
BACKUP DATABASE YourDatabase
TO DISK = 'D:\backup\YourDatabase.bak'
WITH FORMAT;

手順2. バックアップファイルを移行先サーバーへ転送

.bakファイルは下記手段で転送可能:

  • ネットワーク共有フォルダ
  • FTP / SCP
  • 外部ストレージ

手順3. 移行先サーバーでデータベースをリストア

SQL Server Management Studio(SSMS)にて実行:

SQL
RESTORE DATABASE YourDatabase
FROM DISK = 'D:\backup\YourDatabase.bak'
WITH MOVE 'YourDatabase' TO 'D:\Data\YourDatabase.mdf',
MOVE 'YourDatabase_log' TO 'D:\Logs\YourDatabase.ldf';

メリット

  • 信頼性が非常に高い
  • バージョン間移行に対応
  • 大容量データベースに適している

デメリット

  • リストア実行中は停止時間が発生
  • ログイン情報、SQLエージェントジョブは含まれない

手法2:データベースコピーウィザード

SSMS標準搭載のウィザードで、SQL管理オブジェクト(SMO)を利用し、インスタンス間のデータベースファイルとメタデータ転送を自動化します。

手順1. ウィザード起動:SSMSにて移行元DBを右クリック → タスク → データベースのコピー

手順2. サーバー設定:移行元・移行先サーバーの接続情報と認証情報を指定

手順3. 転送方式選択:高速なデタッチ&アタッチ(停止必要)、またはオンラインSMO方式を選択

手順4. 対象DB選択:コピーまたは移行するデータベースを指定

手順5. 実行またはスケジューリング:即時実行、または後日実行を設定

メリット

  • GUI画面で操作可能
  • 操作が簡単

デメリット

  • 柔軟性に乏しい
  • 大容量DBで失敗するケースがある
  • 移行処理の詳細制御が難しい

手法3:スクリプト生成

スキーマとデータを含むT-SQLスクリプトを出力し、移行先サーバーで実行してデータベースを再構築する手法です。

手順1. スクリプト作成:移行元DBを右クリック → タスク → スクリプトの生成

手順2. 詳細オプション設定:ウィザード内の詳細設定から「スクリプト出力対象」を「スキーマとデータ」に変更

手順3. スクリプト保存:単一ファイルとして出力し転送

手順4. 移行先で実行:移行先サーバーへ接続し、スクリプトファイルを実行

手順5. データ検証:実行エラー確認、移行先のデータ完全性を確認

メリット

  • カスタマイズ性が高い
  • 多様な環境間で利用可能

デメリット

  • 大容量データベースでは非常に低速
  • 本番規模の移行には不向き

手法4:デタッチ&アタッチ(オフラインDBの迅速移動)

データベースファイルを物理的にサーバー間移動する手法です。

利用に適した場面:

  • 管理された環境での高速移行
  • バックアップ時間枠が限られる大容量データベース

手順1. データベースをデタッチ

SQL
EXEC sp_detach_db 'YourDatabase';

手順2. MDFファイル、LDFファイルをコピー

ファイルを移行先サーバーへ移送

手順3. データベースをアタッチ

SQL
CREATE DATABASE YourDatabase
ON (FILENAME = 'D:\Data\YourDatabase.mdf'),
(FILENAME = 'D:\Logs\YourDatabase.ldf')
FOR ATTACH;

メリット

  • 移行速度が速い
  • バックアップファイルが不要

デメリット

  • 業務停止が必須
  • ファイルレベルのアクセス権限が必要
  • 転送中断時、ファイル破損リスクが存在

SQL Serverデータベースコピー後に発生しやすい課題

移行処理自体が完了しても、下記のトラブルが発生する可能性があります。

1. ログインSIDの不整合

ログイン情報のマッピングが正しく行われず、ユーザーがアクセスできなくなる場合があります。

2. SQL Serverエージェントジョブの欠損

ジョブ、アラート、保守プランはバックアップに含まれません。

3. 権限関連の障害

移行後、データベースユーザーのロール割り当てが消失する可能性があります。

4. リンクサーバー接続障害

サーバー変更に伴い外部との接続設定が切断されます。

データベース移行の成功確認方法

データベースコピー完了後、必ず移行結果を検証してください。

手順1. データベース状態確認

SQL
SELECT name, state_desc FROM sys.databases;

手順2. 整合性チェックを実行

SQL
DBCC CHECKDB ('YourDatabase');

手順3. アプリケーション接続テスト

アプリケーションが下記動作を実行できるか確認:

  • 正常に接続可能
  • データの読み書きが正しく実行される
  • 重要なトランザクションが動作する

手順4. SQL Serverログの確認

警告や処理失敗の記録が存在しないか確認します。

企業規模のSQL Server移行に求められる考慮事項

i2Streamは、MSSQLデータベースのサーバー間コピー業務を自動化・可視化し、高い信頼性で効率的に実行可能な強力なデータレプリケーションソリューションです。単なるデータコピーに留まらず、データ移行、災害復旧バックアップ、データ配信、異種データベース同期をカバーする統合的なデータフロー基盤を企業に提供します。

MSSQLデータベースのサーバー間レプリケーションにおいて、i2Streamは主に下記を支援します。

  • シームレスな異プラットフォームレプリケーション

    高い互換性により多様な環境でMSSQLのリアルタイム同期を実現。オンプレミスからクラウドまで複雑なシナリオで、移行元・移行先間でスムーズにデータを移送します。

  • 詳細なデータフロー制御

    インスタンス全体から特定の項目まで多段階でレプリケーション範囲を制御可能。強力なフィルタリング、データ変換、ETL機能を備え、データベース全体移行から特定業務データ配信まで、多彩なニーズに合わせてデータフローを柔軟に調整できます。

  • 企業レベルの信頼性と安全性

    DDL/DML同期、再開機能、トランザクション整合性機能により、継続レプリケーション中のデータ完全性を保証。独自の論理削除ブロック機能、競合解決メカニズムが本番データを守る安全策となります。

  • インテリジェントな運用管理

    直感的なGUIにより複雑なレプリケーション作業を簡素化。リアルタイム監視、多次元アラート、自動データ比較修復機能と組み合わせ、運用負荷と人的ミスリスクを大幅に低減するスマートな運用基盤を構築します。

60日間無料トライアル

i2Streamの詳細を知りたい方はお問い合わせください。技術チームがMSSQLデータベースのサーバー間移行を支援いたします。

よくある質問(FAQ)

Q. SQL Serverデータベースを別サーバーへコピーするには?

A. 環境に応じて、バックアップ&リストア、デタッチ&アタッチ、データベースコピーウィザード、スクリプト生成のいずれかを利用します。


Q. SQL Serverデータベースを移動する最速の手法は?

A. 大容量データベースの場合、一般的にデタッチ&アタッチが高速です。


Q. バックアップ&リストアにログイン情報は含まれますか?

A. 含まれません。ログイン情報やSQLエージェントジョブは別途移行する必要があります。


Q. 停止時間なしでSQL Serverデータベースをコピー可能ですか?

A. レプリケーションまたは企業向け同期専用ツールを利用した場合に限り実現できます。


Q. 移行完了後に確認すべき項目は?

A. データベースの整合性、アプリケーション接続、ユーザー権限を検証してください。

まとめ

SQL Serverデータベースを別サーバーへコピーする手段として、バックアップ&リストア、デタッチ&アタッチ、データベースコピーウィザード、スクリプト生成といった複数の無料手法が存在します。

各手法はパフォーマンス、必要な停止時間、運用の難易度にトレードオフがあります。

多くの本番環境において、バックアップ&リストアが最も信頼でき、推奨される手法となります。

概要は準備中です

関連記事

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