SQL Server を最新バージョンにアップグレードする

このガイドでは、Data Migration Assistant (DMA) を使用して、ユーザー データベースを以前のバージョンの SQL Server から SQL Server 2022 (16.x) にアップグレードする方法について説明します。

その他の移行ガイドについては、Azure Database Migration に関する記事を参照してください。

必須コンポーネント

移行プロジェクトを始める前に、関連する前提条件を解決しておくことが重要です。 SQL Server データベースのアップグレードに関してサポートされているバージョンと考慮事項をご確認ください。

移行を準備するには、次のものをダウンロードしてインストールします。

移行前

ソース環境がサポートされ、すべての前提条件が満たされていることを確認したら、移行前ステージを始めることができます。 プロセスには、移行する必要があるデータベースのインベントリの実施が含まれます。 次に、データベースで移行に関する潜在的な問題や障害を評価した後、発見されたものがある場合はすべて解決します。 次の 2 つのセクションでは、移行前の検出と評価のステップについて説明します。

発見

Azure Migrate: Discovery and Assessment ツールを使うと、オンプレミスの VMware VM、Hyper-V VM、物理サーバーを検出し、Azure への移行について評価することができます。

このツールは、次のステップに使用できます。

  • Azure 対応性: オンプレミスのサーバー、SQL Server インスタンス、Web アプリが Azure に移行する準備ができているかどうかを評価します。
  • Azure のサイジング: 移行後の Azure VM/Azure SQL 構成のサイズまたは Azure VMware Solution ノードの数を推定します。
  • Azure コストの見積もり: Azure でオンプレミス サーバーを実行する場合のコストを見積もります。
  • 依存関係の分析: 相互に依存するサーバーを Azure に移動できるように、サーバー間の依存関係と最適化戦略を特定します。 依存関係の分析による検出と評価の詳細を参照してください。

Discovery and Assessment ツールでは、オンプレミスに展開されている軽量の Azure Migrate アプライアンスが使用されます。

  • アプライアンスは、VM または物理サーバーで実行されます。 ダウンロードしたテンプレートを使用して、簡単にインストールできます。
  • アプライアンスにより、オンプレミスのサーバーが検出されます。 また、サーバーのメタデータとパフォーマンス データが Azure Migrate に継続的に送信されます。
  • アプライアンスによる検出はエージェントレスです。 検出されたサーバーには何もインストールされません。
  • アプライアンスによる検出後、検出されたサーバーをグループ化し、各グループの評価を実行できます。

評価と変換

データソースを特定した後、次のステップでは、オンプレミスの SQL Server インスタンスを評価します。 SQL Server インスタンスをアップグレードする前に、Data Migration Assistant (DMA) を使用してソース データベースを評価します。

DMA を使用して評価を作成するには、次の手順のようにします。

  1. DMA ツールをダウンロードしてインストールします。

  2. 新しい評価プロジェクトを作成します。

    1. 新規作成 (+) アイコンを選択し、 [評価] プロジェクトの種類を選択し、プロジェクト名を指定し、ソースとターゲットとして [SQL Server] を選択して、 [作成] を選択します。

      新しい評価のスクリーンショット。

    2. 移行先として計画していて評価を実行する必要があるターゲット SQL Server のバージョンを選択し、評価レポートの種類 ([互換性のイシュー][新機能のレコメンデーション]) のいずれかまたは両方を選択して、[次へ] を選択します。

      レポートの種類のスクリーンショット。

    3. [サーバーへの接続] で、接続先の SQL Server インスタンスの名前を指定し、認証の種類と接続のプロパティを指定して、 [接続] を選択します。

    4. [ソースの追加] パネルで評価するデータベースを選択して、[追加] を選択します。

      [データベースの追加] のスクリーンショット。

    5. [Start Assessment](評価の開始) を選びます。

      評価の結果が作成されるまで待ちます。評価にかかる時間は、追加されたデータベースの数と各データベースのスキーマ サイズによって異なります。 使用可能になるとすぐに、データベースごとに結果が表示されます。

    6. 評価が完了したデータベースを選択し、スイッチャーを使用して [互換性のイシュー][機能に関する推奨事項] を切り替えます。

      評価結果のスクリーンショット。

    7. [破壊的変更][動作変更][非推奨の機能] で識別されたすべての問題について、影響を受けるオブジェクトとその詳細を分析することにより、互換性の問題を確認します。

    8. [パフォーマンス][ストレージ][セキュリティ] の各領域で、機能に関する推奨事項を確認します。

      機能に関する推奨事項では、インメモリ OLTP と列ストア、Always Encrypted (AE)、動的データ マスク (DDM)、Transparent Data Encryption (TDE) などのさまざまな機能が対象になっています。

  3. 評価の結果を確認します。

    1. すべてのデータベースの評価が完了したら、 [レポートのエクスポート] を選択して、都合のよいときにデータを分析するため、JSON または CSV ファイルに結果をエクスポートします。

オプションの A/B テスト

このステップは省略可能と見なされ、移行を完了するために必要ではありません。 データベースの移行テストに DEA を使用するには、次の手順のようにします。

  1. DEA ツールをダウンロードしてインストールします。

  2. トレース キャプチャを実行します

    1. 左側のナビゲーション ツリーで、カメラ アイコンを選択して [All Captures](すべてキャプチャ) に移動します。

      新しいトレース キャプチャのスクリーンショット。

    2. 新しいキャプチャを開始するには、 [新しいキャプチャ] を選択します。

    3. キャプチャを構成するには、トレース名、期間、SQL Server インスタンス名、データベース名、および SQL Server が実行されているコンピューターにトレース ファイルを格納するための共有の場所を指定します。

      トレース キャプチャの入力画面のスクリーンショット。

    4. [開始] を選択してトレース キャプチャを開始します。

  3. トレースの再生を実行します

    1. 左側のナビゲーション ツリーで、再生アイコンを選択して [All Replays](すべて再生) に移動します。

      新しいトレースの再生のスクリーンショット。

    2. 新しい再生を開始するには、 [New Replay](新しい再生) を選択します。

    3. 再生を構成するには、再生名、コントローラー マシン名、コントローラー上のソース トレース ファイルのパス、SQL Server インスタンス名、および SQL Server が実行されているコンピューターにターゲット トレース ファイルを格納するためのパスを指定します。

    4. [開始] を選択して、キャプチャの再生を開始します。

  4. 新しい分析レポートを作成します

    1. 左側のナビゲーション ツリーで、チェックリスト アイコンを選択して [分析レポート] に移動します。

      新しい分析レポートのスクリーンショット。

    2. レポート データベースを格納する SQL Server に接続します。

      サーバーにあるすべてのレポートの一覧が表示されます。

    3. [新しいレポート] を選択します。

    4. レポートを構成するには、レポート名を指定し、ソースとターゲットの SQL Server インスタンスのトレースへのパスを指定します。

      レポート分析の入力画面のスクリーンショット。

  5. 分析レポートを確認します

    1. レポートの最初のページには、実験が実行されたターゲット サーバーのバージョンとビルド情報が表示されます。

      しきい値を使用すると、A/B テスト分析の感度や許容範囲を調整できます。

      注意

      既定では、しきい値は 5% に設定されており、5% 以上のパフォーマンス向上は "向上" として分類されます。 ドロップダウン リスト セレクターを使用すると、さまざまなパフォーマンスしきい値を使用してレポートを評価できます。

    2. 円グラフの個々のスライスを選択すると、パフォーマンスの詳細なメトリックが表示されます。

      ドリルダウン レポートのスクリーンショット。

      パフォーマンス変更カテゴリの詳細ページには、そのカテゴリのクエリの一覧が表示されます。

      ドリルダウン レポート クエリのスクリーンショット。

    3. 個々のクエリを選択して、パフォーマンス概要統計、エラー情報、クエリ プラン情報を取得します。

      概要統計のスクリーンショット。

変換

1 つ以上の移行するソース データベース インスタンスを評価した後、異種間の移行の場合は、ターゲット環境で動作するようにスキーマを変換する必要があります。 SQL Server の新しいバージョンへのアップグレードは同種間の移行と見なされるため、変換ステップは必要ありません。

移行の概要

必要な前提条件を満たし、移行前ステージに関連するタスクを完了したら、スキーマとデータ移行を実行できる状態になります。 移行とアップグレードが成功するということは、移行前ステージで検出されたすべての問題に対処したことを意味します。

DMA ツールで検出された互換性の問題を確認します。

システム データベースの msdb のバックアップを作成することにより、バックアップ ログ、メンテナンス プラン、およびジョブなどのその他の自動化されたタスクを保持します。

SQL Server Management Studio を使用して、リンク サーバーを表示します。 オブジェクト エクスプローラーで、サーバー オブジェクトを右クリックして一覧を展開します。

データと環境の複雑さによっては、追加の考慮事項が必要になる場合があります。

スキーマとデータの移行

データベースを評価した後の次のステップは、DMA を使用してスキーマとデータベースの移行プロセスを開始することです。

スキーマとデータの同期を移行する

DMA を使用して移行プロジェクトを作成するには、次の手順のようにします。

  1. 新しい移行プロジェクトを作成します

    1. [新規] アイコンを選択し、 [移行] プロジェクトの種類を選択し、ソースとターゲットの種類として [SQL Server] を選択して、 [作成] を選択します。

      新しい移行のスクリーンショット。

    2. ソースとターゲットの SQL Server の接続の詳細を指定して、 [次へ] を選択します。

      ソースとターゲットの詳細のスクリーンショット。

    3. 移行するソースからデータベースを選択し、 [バックアップ操作用にソースおよびターゲット SQL Server からアクセスできる共有場所] を指定します。

      注意

      ソース SQL Server インスタンスを実行しているサービス アカウントに、共有場所への書き込み権限があること、およびターゲット SQL Server のサービス アカウントに、共有場所での読み取り権限があることを確認します。

      移行するデータベースの選択のスクリーンショット。

    4. [次へ] を選択し、移行するログインを選択してから、 [移行の開始] を選択します。

      移行するログインのスクリーンショット。

    5. 次に、 [結果の表示] 画面で移行の進行状況を監視します。

  2. 移行結果を確認する

    1. 移行結果を .csv または .json ファイルに保存するには、 [レポートのエクスポート] を選択します。

    2. 保存したファイルでデータとログインの移行の詳細について確認し、プロセスが正常に完了したことを検証します。

データの同期と切り替え

移行でのダウンタイムを最小限にするため、1 回限りの移行が行われた後で移行元ソースの変更は続けられており、データとスキーマがターゲットと異なっている場合があります。 このプロセスの間に、ソース内のすべての変更をキャプチャし、準リアルタイムでターゲットに適用する必要があります。 ソース内の変更がターゲットに適用されていることを確認したら、ソースからターゲット環境に切り替えます。

このシナリオでは、最小限のダウンタイムでの移行のサポートはまだ利用できないため、データ同期と切り替えプランは現在は適用されません。

移行後の処理

移行段階が正常に完了したら、移行後の一連のタスクを実行し、すべてが可能な限り円滑かつ効率的に機能していることを確認する必要があります。 移行後の処理は、発生したデータの精度の問題を調整し、完全性を検証し、ワークロードでのパフォーマンスの問題に対処するために非常に重要です。

これらの問題、それらを軽減するための具体的な手順、および移行後の詳細については、「移行後の検証および最適化ガイド」を参照してください。

アプリケーションを検証する

データがターゲット環境に移行された後、以前にソースを使用していたすべてのアプリケーションは、ターゲットの使用を開始する必要があります。 これを実現するには、場合によってはアプリケーションの変更が必要な場合があります。 データベースでテストを行い、移行後にアプリケーションが期待どおりに動作することを確認します。