Azure SQL Database からの Fabric ミラー化データベースのトラブルシューティング
この記事では、Azure SQL Database のミラーリングに関するトラブルシューティング手順について説明します。
Fabric SQL データベースで自動的に構成されるミラーリングのトラブルシューティングについては、「Fabric SQL データベースからのミラーリングのトラブルシューティング (プレビュー)」をご覧ください。
Microsoft Fabric の容量またはワークスペースの変更
原因 | 結果 | 推奨される解決方法 |
---|---|---|
Microsoft Fabric の容量の一時停止/削除 | ミラーリングが停止する | 1. Azure portal から容量を再開または割り当てます。 2. Microsoft Fabric ミラー化データベース項目に移動します。 ツール バーから [停止レプリケーション] を選択します。 3. Microsoft Fabric ポータルでミラー化されたアイテムの [ミラー データベース] を選択して、レプリケーションを開始します。 |
Microsoft Fabric の容量が再開されました | ミラーリングは再開されません | 1. Microsoft Fabric ミラー化データベース項目に移動します。 ツール バーから [停止レプリケーション] を選択します。 2. Microsoft Fabric ポータルでミラー化されたアイテムの [ミラー データベース] を選択して、レプリケーションを開始します。 |
ワークスペースが削除されました | ミラーリングが自動的に停止します | Azure SQL Database でミラーリングがまだアクティブになっている場合は、Azure SQL Database で次のストアド プロシージャを実行します: exec sp_change_feed_disable_db; 。 |
ファブリック試用版の容量が期限切れになった | ミラーリングが自動的に停止します | 「Fabric 試用版容量の期限切れ」を参照してください。 |
Fabric の容量を超えました | ミラーリングが一時停止します | 過負荷状態が終わるまで待つか、容量を更新します。 詳しくは、「過負荷状況から回復するために実行できるアクション」をご覧ください。 容量が復旧された後、ミラーリングは続けられます。 |
その他のリソース エラー | ミラーリングが無効になります | コンピューティング リソースが影響を受けないようにし、Azure SQL Database への影響を最小限に抑えるために、永続的なリソース エラーに対してミラーリングが無効になります。 |
トラブルシューティングのための T-SQL クエリ
ミラーリングの問題が発生している場合は、動的管理ビュー (DMV) とストアド プロシージャを使用して、次のデータベース レベルのチェックを実行して構成を確認します。
次のクエリを実行して、変更が適切にフローするかどうかをチェックします。
SELECT * FROM sys.dm_change_feed_log_scan_sessions;
sys.dm_change_feed_log_scan_sessions
DMV に増分変更の処理の進行状況が表示されない場合は、次の T-SQL クエリを実行して、問題が報告されているかどうかチェックします。SELECT * FROM sys.dm_change_feed_errors;
報告された問題がない場合は、次のストアド プロシージャを実行して、ミラー化 Azure SQL データベースの現在の構成を確認します。 正しく有効になっていることを確認します。
EXEC sp_help_change_feed;
ここで探すキー列は
table_name
とstate
です。4
以外の値は、潜在的な問題を示します。レプリケーションがまだ機能していない場合は、正しい SAMI オブジェクトにアクセス許可があることを確認します。
- Fabric ポータルで、ミラー化データベース項目の [... ] 省略記号オプションを選択します。
- [アクセス許可の管理] オプションを選択します。
- Azure SQL 論理サーバー名に読み取り、書き込みのアクセス許可が表示されていることを確認します。
- 表示される AppId が、Azure SQL データベース論理サーバーの SAMI の ID と一致していることを確認します。
マネージド ID
Azure SQL 論理サーバーのシステム割り当てマネージド ID (SAMI) を有効にし、プライマリ ID にする必要があります。 詳細については、「ユーザー割り当てマネージド ID を使用して Azure SQL Database サーバーを作成する」を参照してください。
SAMI 設定の状態が無効になっているか、最初に有効だったものが無効化された後に再度有効になった場合は、有効化後に、Azure SQL Database から Fabric OneLake へのミラーリングは失敗します。
SAMI はプライマリ ID である必要があります。 SELECT * FROM sys.dm_server_managed_identities;
を使用して、SAMI がプライマリ ID であることを確認します。
ユーザー割り当てマネージド ID (UAMI) はサポートされていません。 UAMI を追加すると、それがプライマリ ID になり、SAMI をプライマリに置き換えます。 これにより、レプリケーションが失敗します。 解決するには、以下を行います。
- すべての UAMI を削除します。 SAMI が有効になっていることを確認します。
SPN のアクセス許可
Fabric ミラー化データベース項目に対する Azure SQL データベース サービス プリンシパル名 (SPN) 共同作成者のアクセス許可を削除しないでください。
SPN アクセス許可を誤って削除した場合、Azure SQL Database のミラーリングは意図したとおりに機能しません。 ソース データベースから新しいデータをミラー化することはできません。
Azure SQL Database の SPN アクセス許可を削除する場合、またはアクセス許可が正しく設定されていない場合は、次の手順のようにします。
- ミラー化データベース項目の
...
省略記号オプションを選択して、SPN をユーザーとして追加します。 - [アクセス許可の管理] オプションを選択します。
- Azure SQL データベース論理サーバーの名前を入力します。 読み取りと書き込みのアクセス許可を指定します。