次の方法で共有


Azure SQL Managed Instance に移行するときの問題のトラブルシューティング

この記事は、Azure Arc で SQL Server 移行を使用して SQL Server データベースを Azure SQL Managed Instance に移行するときに発生する可能性のある一般的な問題のトラブルシューティングに役立ちます。

移行エクスペリエンスに関するフィードバックを 製品グループに直接提供できます。

Arc エージェントのバージョン

Azure Arc で SQL Server 移行を使用する場合、一部の機能には Arc エージェントの最小バージョンが必要です。 Arc エージェントは、AZURE への接続を提供するために SQL Server インスタンスと共に実行される実行可能ファイルです。 最新の修正プログラムと更新プログラムを入手するには、Arc エージェントのバージョンを常に最新の状態に保ちます。

自動更新が有効になっている場合、Arc エージェントは自動的に最新の状態を維持します。 ただし、新しいバージョンの Arc エージェントがロールアウトされると、更新がすべてのサーバーに到達するまでに数日かかることがあります。 Azure portal またはコマンド ライン インターフェイスを使用して オンデマンド Arc エージェントの更新を手動で実行 することで、プロセスを高速化できます。

Azure portal で [データベース移行 ] ウィンドウにアクセスするときに次のエラーが表示される場合は、Arc エージェントをサポートされているバージョンにアップグレードする必要があります。

To enable migration and monitoring capabilities, 
please update your Azure Arc agent extension "WindowsAgentSQLServer" to the latest version.

Arc エージェントの問題

異常な拡張機能の状態や切断された SQL Server インスタンスなど、Arc エージェントで問題が発生した場合は、次の拡張機能のトラブルシューティング ガイドを使用します。 SQL Server 用 Azure 拡張機能のトラブルシューティングを行います。

移行の準備状況の評価に関する問題

システムは、毎週日曜日の午後 11 時 (23:00) にサーバーに対して 移行準備評価 を実行します。 Azure Arc によって新しく有効になった SQL Server インスタンスの評価が Azure portal に表示されるまでに数日かかる場合があります。 評価の実行を使用して、オンデマンド評価をトリガーします。 評価は数分後に表示されます。

Azure portal でデータベース移行の準備状況の評価ページが空白の場合、スケジュールされた評価が実行されなかった可能性があります。または、SQL Server インスタンスで評価を実行するときに問題が発生しました。 Arc エージェントを無効にすると、評価が実行されなくなります。 Arc エージェントが有効になっていることを確認します。 詳細については、「 評価設定の変更」を参照してください。

次の既知の問題について考えてみましょう。

  • xp_cmdshellを有効にして使用すると、データベースを移行できるため、SQL Managed Instance の警告が評価に記録されます。 ただし、 xp_cmdshellを特に使用するオブジェクトの機能が中断されます。 問題を軽減するには、評価に記載されている修復ガイダンスを使用します。

次のいずれかの問題が発生した場合は、 Microsoft サポート にお問い合わせください。

  • 評価レポートは、スケジュールされた時刻を過ぎてもポータルに表示されません。
  • パフォーマンス データの可用性は、データ収集の 1 週間後には増加しません。

移行の問題に関する Azure アクティビティ ログを表示する

Azure portal のアクティビティ ログは、リソースからアクセスすると、Azure で発生するリソース レベルのイベントに関する分析情報を提供します。 この分析情報には、リソースを変更または削除するタイミングに関する情報と、サービス正常性やその他の重要なイベントに関する詳細が含まれます。

Azure Arc で SQL Server の移行を使用して Azure SQL Managed Instance への移行の問題をトラブルシューティングする場合、アクティビティ ログは問題を特定し、問題の原因となった一連のイベントを理解するための貴重なリソースです。

Azure Arc リソースによって有効になっている SQL Server インスタンスの Azure portal でアクティビティ ログにアクセスするには、次の手順に従います。

  1. Azure portal で Azure Arc リソースによって有効になっている SQL Server インスタンス に移動します。

  2. リソース メニューから [アクティビティ ログ ] を選択します。

    Azure portal の SQL Server インスタンス リソースで強調表示されているアクティビティ ログのスクリーンショット。

上部のナビゲーション バーの通知ベル アイコンを選択し、アクティビティ ログで [その他のイベント] を選択することで、サブスクリプション レベルのアクティビティ ログにアクセスして、サブスクリプション内のすべてのリソースのイベントをより広く表示することもできます。

Azure portal で強調表示されている通知ベル アイコンのスクリーンショット。

アクティビティ ログからイベントを選択して、イベントの詳細ウィンドウを開きます。 [概要] タブと [JSON] タブを使用して、特定のエラー メッセージなど、イベントに関する詳細情報を表示します。 サポート リクエストを作成する場合は、可能な限り詳細にこの情報を伝えてください。

このセクションでは、Azure Arc での SQL Server 移行を通じて Azure SQL Managed Instance に移行する場合の Managed Instance リンク機能に関する一般的な問題について説明します。

正しくないサービス パックがインストールされている

適切な SQL Server Service Pack (SP) または累積的な更新プログラム (CU) がインストールされていることを確認します。

SQL Server インスタンスで次の T-SQL コマンドを実行することで、正しいバージョンを確認できます。

EXEC sp_certificate_add_issuer @CERTID, N'*.database.windows.net'

SQL Server でストアド プロシージャ sp_certificate_add_issuerが見つからないというエラーが発生した場合は、適切なサービス パック (Azure Connect Feature Pack など) がインストールされていない可能性があります。 必要なサービス更新プログラムをインストールして、もう一度やり直してください。

Always On 可用性グループ機能が無効になっている

SQL Server インスタンス で Always On 可用性グループ機能が有効 になっていることを確認します。 Managed Instance のリンクでは、適切な機能を実現するために Always On 可用性グループ機能を有効にする必要があります。

SQL Server 2016 の使用

SQL Server 2016 (13.x) の場合、 リンクの SQL Server 2016 の準備の前提条件に関するページに記載されている追加の手順を完了する必要があります。 リンクでサポートされている SQL Server 2017 (14.x) 以降のバージョンでは、これらの追加の手順は必要ありません。

ネットワーク接続の問題

マネージド インスタンス リンク機能を機能させるには、SQL Server 環境と Azure SQL Managed Instance の間の接続が成功することが不可欠です。 ネットワーク接続の問題が発生している場合は、次の点を考慮してください。

  • Managed Instance リンクはパブリック ネットワーク経由では機能しないため、VPN を使用するなどして、SQL Server インスタンスと Azure SQL Managed Instance の間の接続をプライベートにする必要があります。
  • 移行プロセスの一環として、Azure portal から直接接続をテストできます。 ポータルで接続テストが成功してもリンクを作成できない場合は、 アクティビティ ログ でエラーの詳細を確認してください。 Transact-SQL と SQL Server エージェントを使用して 、接続を手動でテスト することもできます。
  • ネットワーク上の企業ファイアウォールを確認します。 ネットワーク接続は機能しているように見えますが、ファイアウォールで、SQL Server が分散型可用性グループに使用する特定の種類のパケットをブロックする可能性があります。 ファイアウォールがパケットの種類をブロックまたはフィルター処理していないことを確認します。

Managed Instance のリンク移行ジョブを開始すると、次の警告が表示されることがあります。 次の警告に関係なく、移行を続行できます。

  • Warning: Database Mirroring Endpoint does not exist
  • Warning: Database Mirroring Endpoint is not secure with a certificate
  • Warning: Database Mirroring Endpoint is not enabled
  • Warning: Database Mirroring Endpoint encryption algorithm is not set to AES

これらの警告は現在既知の問題であり、移行プロセスでは自動的に対処されるため、移行を続行できます。

その他の警告を調査します。 一部の警告では、移行を開始する前に問題の解決が必要になる場合があります。一部の警告は、移行の完了後に対処できます。

移行のために Azure portal を使用してリンクを構成することは、SQL Server Management Studio (SSMS) または Transact-SQL (T-SQL) を使用して手動で作成した既存のリンクとは互換性がありません。 リンクが既に存在する場合、Azure portal から新しいリンクを作成することはできません。

SQL Server ソースまたは Azure SQL Managed Instance ターゲットのいずれかにリンクが既に存在する場合は、Azure portal を使用してそのソースとターゲットの間に新しいリンクを作成する前に、次の手順を実行する必要があります。

  1. Remove-AzSqlInstanceLink または az sql mi link delete を使用して、SQL Managed Instance から手動でリンクを削除するか、Azure Cloud Shell または Azure コンテキストでサインインしたマシンから削除します。
  2. DROP AVAILABILITY GROUP を使用し、リンクに関連付けられている分散型可用性グループの名前を使用して、SQL Server から手動でリンクを削除します。
  3. DROP CERTIFICATE を使用して、SQL Server インスタンスからすべてのリンク関連証明書を削除します。 通常、削除する必要がある証明書には、 DigiKey PKIMicrosoft PKIendpoint、および database.windows.netの値が含まれます。 SELECT * FROM sys.certificatesを使用して、SQL Server 上のすべての証明書を一覧表示できます。
  4. Remove-AzSqlInstanceServerTrustCertificate または az sql mi partner-cert delete を Azure Cloud Shell から、または Azure コンテキストでサインインしたマシンから使用して、SQL Managed Instance からすべてのリンク関連証明書を削除します。 Get-AzSqlInstanceServerTrustCertificate または az sql mi partner-cert show を使用して、SQL Managed Instance 上の既存の認証証明書を一覧表示できます。
  5. 前の手順では、手動で作成されたリンクに対して生成されたすべてのリンク関連の認証証明書をクリアします。 既存の可用性グループをローカルで使用していない場合は、 DROP ENDPOINT を使用して既存のデータベース ミラーリング エンドポイントを削除することを検討してください。 SELECT * FROM sys.endpointsを使用して、SQL Server 上のすべての既存のエンドポイントを一覧表示できます。 エンドポイントを削除する前に、エンドポイントに関連付けられている証明書を削除する必要があります。

XE Profiler を使用した詳細なトラブルシューティング

リンクの問題の詳細なトラブルシューティングについては、 XE Profiler を使用してください。

Log Replay Service の移行に関する問題

このセクションでは、ログ再生サービス (LRS) を使用して移行するときに発生する可能性がある一般的な問題の一覧を示します。

Azure Blob Storage 内のディレクトリを一覧表示できない

Azure portal の Unable to list directories] ページでディレクトリを選択するときにエラー メッセージが表示された場合、ポータルに現在ログインしているユーザーには、ストレージ アカウントに割り当てられているストレージ BLOB データ閲覧者ロールがありません。 問題を解決するには、ストレージ アカウントへのアクセス 権をユーザーに付与します。

ディレクトリに結果が見つかりませんでした

Azure portal の No results were found in directory] ページでディレクトリを選択するときにメッセージが表示された場合は、Azure Blob Storage コンテナー内でデータベース バックアップを使用できません。 この問題を解決するには、データベースの完全バックアップを Azure Blob Storage にアップロードします。

ファイルの復元の状態を確認する

移行中に検出された、キューに入れた、スキップされた、または復元できないファイルの数を確認するには、Azure portal の [監視とカットオーバー ] ページを使用します。 移行が開始されたら、[ 監視とカットオーバー ] ページに移動し、移行するデータベースを選択して、そのデータベースの移行の詳細を開きます。

エラー 2009 - マネージド ID が正しく設定されていません

移行が正常に開始された後、エラー 2009 - managed identity is not set up properlyで失敗した場合、マネージド インスタンスのプライマリ ID には、Azure Blob Storage アカウントに割り当てられた ストレージ BLOB データ閲覧者 アクセス許可がありません。 問題を解決するには、ストレージ アカウントへのマネージド ID アクセス 権を付与します。 適切な ID (既定のマネージド ID またはユーザー定義のカスタム ID) に必要なアクセス許可があること、またはアクセス許可が最初に付与されてから ID が変更されなかったことを確認します。 ID が変更された場合は、新しい ID に適切なアクセス許可を付与して問題を解決します。

DMS を使用した移行のトラブルシューティング

Azure Arc で LRS 移行ジョブを開始すると、データベース移行サービス (DMS) 移行ジョブが自動的に作成されるため、Azure portal で Azure Database Migration Service を使用して、移行ジョブに関する追加の詳細を確認できます。

DMS で LRS 移行ジョブの詳細を表示するには、次の手順に従います。

  1. Azure portal で Azure Database Migration Service に移動します。

  2. [ すべてのリソース ] を選択し、LRS 移行に関連付けられている DMS 移行ジョブを選択して、移行の詳細ページを開きます。

    Azure portal の DMS [すべてのリソース] ページのスクリーンショット。

  3. 移行の詳細ページで、[ 移行の監視 ] を選択して、LRS を使用して特定のインスタンスに移行されたデータベースの状態を確認します。 状態の詳細を表示するには、[ 成功]、[ キャンセル済み]、または [エラー ] を選択します。

    このページにアクセスするもう 1 つの方法は、Azure Arc を使用して移行が開始された後、ターゲット SQL Managed Instance を含むリソース グループに追加された Azure Database Migration Service リソースを使用することです。

移行ジョブを削除する

LRS 移行ジョブは完了(成功または失敗)後、28日間はモニターおよびカットオーバーページに残ります。 監視ページからジョブをすぐに消去する場合は、ジョブを手動で削除できます。

ジョブを手動で削除するには、前のセクションで説明したように 、LRS 移行に関連付けられている DMS 移行ジョブ に移動します。 削除する移行ジョブを選択し、[ごみ箱の 削除 ] ボタンを使用してジョブを削除します。 [このチェック ボックスをオンにして削除を確定する] を選択して確認します。 このアクションにより、Azure Arc の [監視とカットオーバー ] ページからジョブがクリアされます。

Microsoft にお問い合わせください

Microsoft に連絡して、問題のあるサポート チケットを開いたり、製品グループに直接フィードバックを提供したりすることができます。

サポートにお問い合せください

https://aka.ms/azure-supportを使用して Azure portal の [ヘルプとサポート] ページに移動し、次の手順に従って移行関連のサポート チケットを開きます。

  1. [ サポート要求の作成 ] を選択して、[ サポート + トラブルシューティング ] ウィンドウを開きます。
  2. テキストフィールドに「migration」と入力し、次に「どのサービスに問題がありますか?」の下で「いずれでもない」を選択してください。
  3. [ サービスの選択 ] ドロップダウン リストから SQL Server enabled by Azure Arc を選択し、[ 次へ ] を使用して続行します。
  4. ドロップダウン リストからサブスクリプションを選択します。
  5. [リソース] ドロップダウン リストから Azure Arc リソースによって有効になっている SQL Server インスタンスを選択し、[次へ] を選択します。
  6. [次のいずれかの問題が発生していますか?] タイルで [移行の問題] を選択し、[次へ] を選択します。
  7. [サポート + トラブルシューティング] ウィンドウ内の上部のナビゲーション バーから [サポート 要求の作成] を選択して、サポート チケット フォームを開きます。
  8. 次の 問題サブタイプ の値を使用して、問題を適切なサポート キューにルーティングします。
    • 評価: 移行準備状況の評価に問題がある場合。
    • LRS データ移行: ログ再生サービス (LRS) の移行に問題がある場合。
    • MI リンク データ移行: Managed Instance のリンク移行に関する問題が発生している場合。
    • 監視とカットオーバー: 移行の監視またはカットオーバーで問題が発生している場合。
    • ターゲット プロビジョニング: ターゲットの Azure SQL Managed Instance のプロビジョニングに問題がある場合。
  9. [次へ] を使用して、サポートリクエストフォームの残りの手順に進み、[作成] を選択してサポートリクエストを送信します。

製品グループにフィードバックを提供する

移行エクスペリエンスの向上に役立つフィードバックを製品グループに提供できます。 フィードバックを送信するには、次のリンクを使用します。