このページには、Azure SQL Database の Microsoft Fabric ミラー化データベース の現在の制限事項が記載されています。 このページは変更されることがあります。
トラブルシューティングについては、以下をご覧ください。
データベース レベルの制限事項
Azure SQL Database のファブリック ミラーリングは、書き込み可能なプライマリ データベースでのみサポートされます。
データベースで Change Data Capture (CDC)、Azure Synapse Link for SQL が有効になっている場合、またはデータベースが別の Fabric ワークスペースに既にミラー化されている場合、Azure SQL Database をミラー化できません。
Fabric にミラー化できるテーブルの最大数は 500 テーブルです。 現在、500 の制限を超えるテーブルはレプリケートできません。
- ミラーリングを構成するときに [すべてのデータをミラー化] を選択した場合、すべてのテーブルがスキーマ名とテーブル名に基づいてアルファベット順に並べ替えられると、ミラー化されるテーブルは、最初の 500 個のテーブルになります。 アルファベット順の一覧の一番下にある残りのテーブルのセットはミラー化されません。
- [すべてのデータをミラー化] をオフにして個々のテーブルを選択すると、500 を超えるテーブルを選択できなくなります。
.dacpacAzure SQL Database へのデプロイでは、ミラー化されたテーブルに対する変更を有効にするには、発行プロパティ/p:DoNotAlterReplicatedObjects=Falseが必要です。.dacpacデプロイで使用できる発行設定の詳細については、SqlPackage の発行に関するドキュメントを参照してください。データベースに対して 遅延トランザクションの持続性 が有効になっている場合、Azure SQL Database をミラー化できません。
ソース データベースのアクセス許可
- 行レベル セキュリティ はサポートされていますが、現在のところ、アクセス許可は Fabric OneLake のレプリケートされたデータには反映されません。
- オブジェクト レベルのアクセス許可 (特定の列へのアクセス許可の付与など) は、現在、Fabric OneLake のレプリケートされたデータには反映されません。
- 動的データ マスク設定は、現在、Fabric OneLake のレプリケートされたデータには反映されません。
- Azure SQL Database のミラーリングを正常に構成するには、ソースの Azure SQL Database への接続に使用されるプリンシパルに、ALTER ANY EXTERNAL MIRROR のアクセス許可が付与されている必要があります。このアクセス許可は、 CONTROL アクセス許可や db_owner ロールなどの上位レベルのアクセス許可に含まれています。
ネットワークと接続セキュリティ
- Azure SQL 論理サーバーのシステム割り当てマネージド ID (SAMI) を有効にする必要があり、プライマリ ID である必要があります。
- Azure SQL Database サービス プリンシパル名 (SPN) 共同作成者のアクセス許可は、Fabric ミラー化されたデータベース項目から削除しないでください。
- Azure SQL Database と Fabric ワークスペースが別々のテナントにある場合、 Microsoft Entra テナント間のミラーリングはサポートされていません。
- Azure SQL Database で定義されている Microsoft Purview Information Protection/秘密度ラベルはカスケードされず、Fabric OneLake にミラーリングされます。
テーブル レベル
主キーが sql_variant、timestamp/rowversion のいずれかのデータ型である場合、テーブルをミラー化できません。
サポートされていない型にクラスター化インデックスを持つテーブルはミラー化できません。 計算列、 ユーザー定義型、 geometry、 geography、 階層 ID、 SQL バリアント、 タイムスタンプ、 datetime2(7)、 datetimeoffset(7)、または time(7))。
Delta Lake では、6 桁の精度のみがサポートされます。
- SQL 型 datetime2 の列は、小数秒の有効桁数が 7 であり、Fabric OneLake の Delta ファイルには同じ有効桁数の対応するデータ型がありません。 この型の列がミラー化されて、小数秒の 7 桁がトリミングされた場合、精度が低下します。
- 主キーが次のいずれかのデータ型である場合は、テーブルをミラー化できません: datetime2(7)、datetimeoffset(7)、time(7)。ここで、
7は 7 桁の精度です。 - datetimeoffset(7) データ型は、Fabric OneLake の Delta ファイルに同じ有効桁数の対応するデータ型がありません。 この型の列がミラー化された場合、精度が失われます (タイム ゾーンと時刻小数 7 桁目の損失)。
クラスター化列ストア インデックスは現在サポートされていません。
テーブル内の 1 つ以上の列がサイズ > 1 MB (メガバイト)の ラージ バイナリ オブジェクト (LOB) 型の場合、Fabric OneLake では列データのサイズが 1 MB (メガバイト)に切り捨てられます。
次のいずれかの機能が使用されているソース テーブルをミラー化することはできません。
- テンポラル履歴テーブルと台帳履歴テーブル
- 常に暗号化されています
- メモリ内テーブル
- Graph
- 外部テーブル
次のテーブル レベルのデータ定義言語 (DDL) 操作は、ミラーリングに対して有効にしたとき、SQL データベースのソース テーブルでは許可されません。
- パーティションの切り替え/分割/マージ
- 主キーの変更
DDL が変更されると、変更されたテーブルの完全なデータ スナップショットが再開され、データが再シードされます。
現在、テーブルに json または ベクトル データ型がある場合、テーブルをミラー化することはできません。
- 現時点では、テーブルがミラー化されるときに、ベクトル または json データ型を変更することはできません。
2025 年 4 月以降、主キーがなくてもテーブルをミラー化できます。
- 2025 年 4 月より前の主キーのないテーブルは、ミラー化の対象になりませんでした。 2025 年 4 月以降は、[将来のテーブルを自動的にミラーリングする] を選択した場合でも、主キーのない既存 のテーブルは自動的にミラーリングに追加されません。
- [将来のテーブルを自動的にミラー化する] を選択したときに、主キーなしで テーブルのミラーリングを開始するには:
レプリケーションを停止し、レプリケーションを開始します。すべてのテーブルが再シードされ、ミラーリングの対象となる新しいテーブルが検出されます。 これは推奨される手順です。
回避策として、ソース データベースに新しいテーブルを作成します。 これにより、ソース データベースのテーブルのインベントリがトリガーされ、以前にミラー化されなかったテーブル (主キーのないテーブルも含む) が検出されます。 たとえば、次のスクリプトでは、
test_20250401という名前のテーブルを作成し、test_20250401テーブルがミラー化された後に削除します。 このスクリプトでは、dbo.test_20250401という名前のテーブルがまだ存在しないことを前提としています。--This script assumes that a table named dbo.test_20250401 does not already exist. CREATE TABLE dbo.test (ID int not null);ミラー化されたテーブルの一覧に表示されると、主キーのないテーブルも表示されます。 次に、
testテーブルを削除できます。DROP TABLE dbo.test_20250401;
- [将来のテーブルを 自動的にミラー化する] を選択していないときに、主キーなしでテーブルのミラーリングを開始するには、ミラーリング設定で選択したテーブルの一覧にテーブルを追加します。
- [将来のテーブルを自動的にミラー化する] を選択したときに、主キーなしで テーブルのミラーリングを開始するには:
- 2025 年 4 月より前の主キーのないテーブルは、ミラー化の対象になりませんでした。 2025 年 4 月以降は、[将来のテーブルを自動的にミラーリングする] を選択した場合でも、主キーのない既存 のテーブルは自動的にミラーリングに追加されません。
列レベル
- ソース テーブルに計算列が含まれている場合、これらの列を Fabric OneLake にミラー化することはできません。
- ソース テーブルにこれらのデータ型のいずれかを含む列が含まれている場合、これらの列を Fabric OneLake にミラー化することはできません。 ミラーリングでは、次のデータ型はサポートされていません。
- image
- テキスト/nテキスト
- xml
- rowversion/タイムスタンプ
- sql_variant
- ユーザー定義型 (UDT)
- geometry
- geography
- ミラーリングでは、名前にスペースまたは特殊文字 (
,;{}()\n\t=など) を含む列のレプリケートがサポートされています。 この機能が有効になる前のレプリケーションのテーブルの場合は、ミラー化されたデータベース設定を更新するか、ミラーリングを再起動してそれらの列を含める必要があります。 デルタ列マッピングのサポート に関するページを参照してください。
倉庫の制限事項
- ソース スキーマ階層は、ミラー化されたデータベースにレプリケートされます。 この機能を有効にする前に作成されたミラー化されたデータベースの場合、ソース スキーマはフラット化され、スキーマ名はテーブル名にエンコードされます。 スキーマを使用してテーブルを再構成する場合は、ミラー化されたデータベースを再作成します。 詳細は、ソース スキーマ階層の複製に関するページをご覧ください。
ミラーリングされる項目に関する制限事項
- ユーザーは、SQL データベース ミラーリングを作成するために、ワークスペースの管理者/メンバー ロールのメンバーである必要があります。
- ミラーリングを停止すると、ミラーリングが完全に無効になります。
- ミラーリングを開始すると、すべてのテーブルが再シードされ、実質的にゼロから始まります。
SQL 分析エンドポイントの制限事項
- SQL 分析エンドポイントは、レイクハウス SQL 分析エンドポイントと同じです。 これは同じ読み取り専用エクスペリエンスです。 「SQL 分析エンドポイントの制限事項」を参照してください。
サポートされているリージョン
データベース ミラーリングとオープン ミラーリングは、すべての Microsoft Fabric リージョンで利用できます。 詳細については、「Fabric が使用できるリージョン」を参照してください。