移行の概要: SQL Server から Azure VM 上の SQL Server

適用対象:Azure VM 上の SQL Server

SQL Server を Azure Virtual Machines (VM) 上の SQL Server に移行するためのさまざまな移行戦略について説明します。

オンプレミスまたは次で動作している SQL Server を移行できます。

  • SQL Server on Virtual Machines
  • Amazon Elastic Compute Cloud (Amazon EC2)
  • Amazon Relational Database Service (Amazon RDS)
  • Google Compute Engine

その他の移行ガイドについては、データベースの移行に関するページを参照してください。

概要

使い慣れた SQL Server 環境を OS 制御付きで使用したい場合や、組み込みの VM 高可用性、自動バックアップ自動修正など、クラウドで提供される機能を活用したい場合は、Azure Virtual Machines (VM) 上の SQL Server に移行しましょう。

Azure ハイブリッド特典のライセンス モデルを使用して独自のライセンスを持ち込み、コストを削減します。または、無料のセキュリティ更新プログラムを取得して、SQL Server 2012 のサポートを延長します。

適切なターゲットを選択する

Azure Virtual Machines は、Azure の多くの異なるリージョンで動作します。また、さまざまなマシン サイズストレージ オプションも備えています。 ご自分の SQL Server ワークロードについて適切なサイズの VM とストレージを特定する際は、「Azure Virtual Machines 上の SQL Server のパフォーマンスに関するガイドライン」を参照してください。

Azure Data Studio 用の Azure SQL Migration 拡張機能を使用して、Azure Virtual Machines レコメンデーションで適切なサイズの SQL Server を取得できます。 この拡張機能を使用すると、ソース SQL Server インスタンスからパフォーマンス データが収集され、最小限のコストでワークロードのパフォーマンス ニーズを満たす適切なサイズの Azure レコメンデーションが提供されます。 詳細については、「オンプレミスの SQL Server データベースに適したサイズの Azure レコメンデーションを取得する」を参照してください

データ資産内のすべてのワークロードに対する VM サイズとストレージ要件を決定するには、パフォーマンス ベースの Azure Migrate Assessment を使用してサイズを設定することをお勧めします。 このオプションを使用できない場合は、パフォーマンスのベースラインを独自に作成する方法について次の記事を参照してください。

VM 上の SQL Server の適切なインストールと構成にも考慮する必要があります。 Azure SQL 仮想マシン イメージ ギャラリーでは、適切なバージョン、エディション、オペレーティング システムで SQL Server VM を作成できるので、それを使用することをお勧めします。 さらに、そうすることで、Azure VM が SQL Server リソース プロバイダーに自動的に登録され、自動バックアップや自動修正などの機能が有効になります。

移行方法

ユーザー データベースを Azure VM 上の SQL Server のインスタンスに移行するには、移行リフト アンド シフトの 2 つの移行戦略があります。

ご自分のビジネスに適したアプローチは通常、次の要因によって決まります。

  • 移行のサイズとスケール
  • 移行の速度
  • アプリケーションのコード変更のサポート
  • SQL Server バージョン、オペレーティング システムまたはその両方の変更の必要性。
  • 既存の製品のサポート ライフ サイクル
  • 移行中のアプリケーションのダウンタイム期間

次の表では、2 つの移行戦略の違いについて説明します。

移行戦略 説明 いつ使用するか
リフト アンド シフト リフト アンド シフト戦略を使用して、物理または仮想の SQL Server 全体を、現在の場所から Azure VM 上の SQL Server のインスタンスに移動します。その際、オペレーティング システムや SQL Server バージョンに対する変更は行いません。 リフト アンド シフト移行を遂行するには、Azure Migrate に関するページを参照してください。

ソースと宛先のサーバーでデータを同期している間、ソース サーバーはオンラインのままで要求に対応します。そのため、ほぼシームレスな移行が可能です。
単一から大規模な移行まで使用でき、データ センターの終了などのシナリオにも適用可能です。

ユーザーの SQL データベースまたはアプリケーションへのコード変更は最小限または不要で、移行全体を速やかに進められます。

SSISSSRSSSAS など、ビジネス インテリジェンス サービスを移行するために追加の手順が必要となることはありません。
移行 ターゲット SQL Server やオペレーティング システムのバージョンをアップグレードしたい場合は、移行戦略を使用します。

Azure Marketplace の Azure VM、またはソース SQL Server のバージョンに一致する準備済み SQL Server イメージを選択します。

Azure Data Studio 用の Azure SQL Migration 拡張機能を使用して、適切なサイズの Azure 構成 (VM シリーズ、コンピューティング、ストレージ) を評価し、レコメンデーションを取得して、最小限のダウンタイムで SQL Server データベースを Azure 仮想マシン上の SQL Server に移行します。
Azure Virtual Machines 上の SQL Server に移行する要件があるか、それが望まれる場合、または、サポートされなくなったレガシ バージョンの SQL Server や OS をアップグレードする要件がある場合に使用します。

SQL Server のアップグレードをサポートするために、アプリケーションまたはユーザー データベースへの変更が必要な場合があります。

ビジネス インテリジェンス サービスが移行の対象になっている場合、その移行に関する追加の考慮事項がある可能性があります。

リフト アンド シフト

次の表では、SQL Server データベースを Azure VM 上の SQL Server に移行するリフト アンド シフト移行戦略で使用できる方法について詳しく説明します。

方法 最小ソース バージョン 最小ターゲット バージョン ソースのバックアップ サイズ制限 メモ
Azure Migrate SQL Server 2008 SP4 SQL Server 2012 SP4 Azure VM ストレージの制限 既存の SQL Server がそのまま、Azure VM 上の SQL Server のインスタンスに移動されます。 移行のワークロードは最大 35,000 VM にスケーリングできます。

サーバー データの同期中、ソース サーバーがオンラインのままで要求に対応するので、ダウンタイムが最小限に抑えられます。

自動化とスクリプト: Azure Site Recovery のスクリプトAzure のスケーリングされた移行と計画の例

Note

これで Azure Migrate を使用して、フェールオーバー クラスター インスタンス可用性グループのソリューションを Azure VM 上の SQL Server にリフト アンド シフトできるようになりました。

Migrate

設定が容易なため、ネイティブな SQL Server のバックアップをローカルで行ってからそのファイルを Azure にコピーすることが、移行アプローチとして推奨されます。 この方法でサポートされるのは、SQL Server のバージョンが 2008 以降のいずれかである大規模なデータベース (1 TB 超) と、大規模なデータベース バックアップ (1 TB 超) です。 SQL Server 2014 以降、Azure との接続性が高い 1 TB 未満のデータベースでは、URL への SQL Server バックアップの方がより優れたアプローチになります。

SQL Server データベースを Azure VM 上の SQL Server のインスタンスに移行する場合、ターゲット サーバーへのカットオーバーがアプリケーションのダウンタイム期間に影響するため、その必要性に応じてアプローチを選択することが重要です。

次の表では、SQL Server データベースを Azure VM 上の SQL Server に移行するために使用できるすべての方法について詳しく説明します。

方法 最小ソース バージョン 最小ターゲット バージョン ソースのバックアップ サイズ制限 メモ
Azure Data Studio 用の Azure SQL Migration 拡張機能 SQL Server 2008 SQL Server 2012 Azure VM ストレージの制限 Azure 仮想マシンの SQL Server に SQL Server データベースを移行するには、Azure Data Studio でウィザード ベースの拡張機能を使用すると簡単です。 圧縮を使用して、転送するバックアップのサイズを最小限に抑えます。

Azure Data Studio 向け Azure SQL Migration 拡張機能からは、評価、Azure レコメンデーション、移行の機能がシンプルなユーザー インターフェイスで提供され、最小限のダウンタイムでの移行がサポートされます。
分散型可用性グループ SQL Server 2016 SQL Server 2016 Azure VM ストレージの制限 分散型可用性グループは、2 つの異なる可用性グループにまたがる、特殊な種類の可用性グループです。 分散型可用性グループに参加する可用性グループは、同じ場所にある必要がなく、クロスドメインに対応しています。

この方法は使用するとダウンタイムを最小限に抑えられます。オンプレミスで構成された可用性グループがある場合に使用してください。

自動化とスクリプト: T-SQL
ファイルへのバックアップ SQL Server 2008 SP4 SQL Server 2012 SP4 Azure VM ストレージの制限 これは、マシン間でデータベースを移動する際の、十分にテストされたシンプルな手法です。 圧縮を使用して、転送するバックアップのサイズを最小限に抑えます。

自動化とスクリプト: Transact-SQL (T-SQL)BLOB ストレージへの AzCopy
URL へのバックアップ SQL Server 2012 SP1 CU2 SQL Server 2012 SP1 CU2 SQL Server 2016 の場合は 12.8 TB、それ以外の場合は 1 TB Azure Storage を使用してバックアップ ファイルを VM に移動するもう 1 つの方法です。 圧縮を使用して、転送するバックアップのサイズを最小限に抑えます。

自動化とスクリプト: T-SQL またはメンテナンス計画
Database Migration Assistant (DMA) SQL Server 2005 SQL Server 2012 SP4 Azure VM ストレージの制限 DMA では、オンプレミスの SQL Server を評価してから、SQL Server の最新バージョンにシームレスにアップグレードするか、Azure VM 上の SQL Server、Azure SQL Database、または Azure SQL Managed Instance に移行します。

FILESTREAM が有効なユーザー データベースでは使用しないようにしてください。

DMA は、SQL と Windows ログインを移行したり、SSIS パッケージを評価したりする機能も備えています。

自動化とスクリプト: コマンド ライン インターフェイス
デタッチとアタッチ SQL Server 2008 SP4 SQL Server 2014 Azure VM ストレージの制限 Azure Blob Storage を使ってこれらのファイルを格納し、それらを Azure VM 上の SQL Server のインスタンスにアタッチする計画の場合 (データベースが非常に大きいときに便利)、またはバックアップと復元にかかる時間が長すぎる場合は、この方法を使います。

自動化とスクリプト: T-SQLBLOB ストレージへの AzCopy
ログ配布 SQL Server 2012 SP4 (Windows のみ) SQL Server 2012 SP4 (Windows のみ) Azure VM ストレージの制限 ログ配布では、オンプレミスから Azure VM 上の SQL Server のインスタンスにトランザクション ログ ファイルをレプリケートします。

そうすることで、フェイルオーバー時のダウンタイムを最小限に抑えられます。また、Always On 可用性グループを設定するよりも構成のオーバーヘッドが少なくなります。

自動化とスクリプト: T-SQL
オンプレミスのマシンを HYPER-V VHD に変換して Azure BLOB ストレージにアップロードし、アップロードしたその VHD を使用して、新しい仮想マシンをデプロイする SQL Server 2012 以降 SQL Server 2012 以降 Azure VM ストレージの制限 ご自身の SQL Server ライセンスを使用する場合、古いバージョンの SQL Server で実行するデータベースを移行する場合、または他のユーザー データベースやシステム データベースに依存しているデータベースの移行の一部として、データベース システムとユーザー データベースを一緒に移行する場合に使用します。
Windows の Import/Export サービスを使用して、ハード ドライブを発送する SQL Server 2012 以降 SQL Server 2012 以降 Azure VM ストレージの制限 Windows の Import/Export サービス は、データベースのサイズが非常に大きい場合など、手動でのコピーが遅すぎるときに使用します。

ヒント

考慮事項

次に示すのは、移行方法の確認時に考慮すべき重要ポイントの一覧です。

  • 最適なデータ転送パフォーマンスを実現するには、圧縮されたバックアップ ファイルを使用して、データベースとファイルを Azure VM 上の SQL Server のインスタンスに移行します。 大規模なデータベースの場合、圧縮を行うほかに、バックアップ ファイルを小さいファイルに分割して、バックアップおよび転送時のパフォーマンスを高めます。
  • SQL Server 2014 以上からの移行の場合、ネットワーク転送時にデータを保護するためにバックアップを暗号化することを検討してください。
  • データベース移行中のダウンタイムを最小限に抑えるには、Azure Data Studio の Azure SQL Migration 拡張機能または Always On 可用性グループ オプションを使用します。
  • ネットワーク オプションが制限されていたりなかったりする場合は、オフラインの移行方法を使用します (バックアップと復元や、Azure で利用可能なディスク転送サービスなど)。
  • Azure VM 上の SQL Server で SQL Server のバージョンをさらに変更するには、SQL Server エディションの変更に関するページを参照してください。

ビジネス インテリジェンス

データベースの移行の範囲外の SQL Server Business Intelligence サービスを移行する場合は、付加的に考慮すべきことが生じる可能性があります。

SQL Server Integration Services

以下の 2 つの方法のいずれかによって、SSISDB の SQL Server Integration Services (SSIS) パッケージとプロジェクトを Azure VM 上の SQL Server に移行できます。

SSIS パッケージをパッケージ配置モデルとしてデプロイしている場合は、移行する前に変換できます。 詳細については、プロジェクト変換のチュートリアルに関する記事を参照してください。

SQL Server Reporting Services

Azure VM 上の SQL Server Reporting Services (SSRS) レポートをターゲット SQL Server に移行するには、「Reporting Services インストールを移行する」をご覧ください。

代替方法として、SSRS レポートを Power BI 内のページ付けられたレポートに移行することもできます。 レポートの準備と移行には、RDL Migration ツールが役立ちます。 Microsoft では、ユーザーがレポート定義言語 (RDL) レポートを SSRS サーバーから Power BI に移行できるようにするために、このツールを開発しました。 GitHub から入手でき、移行シナリオのエンドツーエンドのチュートリアルが付属しています。

SQL Server Analysis Services

SQL Server Analysis Services データベース (多次元モデルまたは表形式モデル) は、次のいずれかのオプションを使って、ソース SQL Server から Azure VM 上の SQL Server に移行できます:

  • SSMS の対話的使用
  • 分析管理オブジェクト (AMO) のプログラム的使用
  • スクリプトによる XMLA (XML for Analysis) の使用

詳細については「Analysis Services データベースを移行する」をご覧ください。

代替方法として、新しい XMLA 読み取り/書き込みエンドポイントを使ってオンプレミスの Analysis Services テーブル モデルを Azure Analysis Services または Power BI Premium に移行することも検討できます。

サーバー オブジェクト

ソース SQL Server での設定によっては、SQL Server Management Studio を使って Transact-SQL (T-SQL) でスクリプトを生成し、さらにそのスクリプトを Azure VM 上のターゲット SQL Server 上で実行するという、Azure VM 上の SQL Server への移行を行うための手動による介入を必要とする、付加的な SQL Server の機能が存在する場合があります。 一般的に使用される機能の一部を次に示します:

  • ログインとロール
  • リンク サーバー
  • 外部データ ソース
  • エージェント ジョブ
  • 警告
  • データベース メール
  • レプリケーション

移動する必要があるメタデータとサーバー オブジェクトの完全な一覧については、「データベースを別のサーバーで使用できるようにするときのメタデータの管理」を参照してください。

サポートされているバージョン

SQL Server データベースを Azure VM 上の SQL Server に移行する準備を行う際は、SQL Server のバージョンがサポートされていることを必ず検討してください。 Azure VM 上で現在サポートされている SQL Server バージョンの一覧については、Azure VM 上の SQL Server に関するページを参照してください。

移行資産

さらに支援が必要な場合は、実際の移行プロジェクトのために開発された次のリソースを参照してください。

Asset 説明
データ ワークロード評価モデルとツール このツールを使用すると、特定のワークロードに対して、推奨される "最適な" ターゲット プラットフォーム、クラウドの準備状況、アプリケーションとデータベースの修復レベルがわかります。 シンプルなワンセレクトの計算とレポート生成機能があり、自動化された均一なターゲット プラットフォームの決定プロセスが用意されているので、大規模な不動産評価を加速させることができます。
Logman を使用した Perfmon データ収集の自動化 ベースライン パフォーマンスを把握するための Perfmon データを収集して、移行ターゲットの推奨に役立てるツール。 このツールは、リモート SQL Server で設定されたパフォーマンス カウンターを作成、開始、停止、削除するコマンドを作成するために、logman.exe を使用します。
Multiple-SQL-VM-VNet-ILB このホワイトペーパーでは、SQL Server Always On 可用性グループの構成で複数の Azure 仮想マシンをセットアップする手順について説明しています。
リージョンごとの Ultra SSD 対応 Azure 仮想マシン これらの PowerShell スクリプトは、Ultra SSD に対応した Azure 仮想マシンをサポートしているリージョンの一覧を取得するための、プログラムによるオプションを提供するものです。

データ SQL エンジニアリング チームが、これらのリソースを開発しました。 このチームの主要な作業は、Microsoft の Azure データ プラットフォームへのデータ プラットフォーム移行プロジェクトの複雑な近代化を容易にし、迅速に進めることです。

次のステップ

SQL Server データベースを Azure VM 上の SQL Server に移行する作業を開始するには、個別のデータベース移行ガイドを参照してください。

さまざまなデータベースとデータの移行シナリオ、および特殊なタスクを支援する Microsoft とサードパーティ製のサービスとツールの表については、データ移行のためのサービスとツールに関する記事を参照してください。

Azure SQL の詳細については、以下を参照してください。

クラウド移行のためのフレームワークと導入サイクルの詳細については、次を参照してください。

ライセンスの詳細については、以下を参照してください。