この記事では、Dataflow Gen2 のデータ変換先シナリオで Data Gateway を使用する場合の制限事項と考慮事項を示します。
クエリを参照するときのポート 1433 に関するネットワークの問題
オンプレミス データ ゲートウェイで Microsoft Fabric Dataflow Gen2 を使用すると、データフローの更新プロセスで問題が発生する可能性があります。 基になる問題は、ステージングされたデータを参照するクエリでデータを使用する前にデータを読み取るために、ゲートウェイがデータフロー ステージング Lakehouse に接続できない場合に発生します。 ステージング データを参照せず、データ変換先に書き込むクエリが 1 つしかない場合、この問題は問題ではなくなりました。
データフロー全体の更新中、テーブルの更新は "成功" と表示されますが、アクティビティ セクションには "失敗" と表示されます。 アクティビティ WriteToDatabaseTableFrom_...
のエラーの詳細は、次のエラーを示しています:
Mashup Exception Error: Couldn't refresh the entity because of an issue with the mashup document MashupException.Error: Microsoft SQL: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.) Details: DataSourceKind = Lakehouse;DataSourcePath = Lakehouse;Message = A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.);ErrorCode = -2146232060;Number = 10013
注
アーキテクチャの観点から見ると、データフロー エンジンは アウトバウンドの HTTPS (ポート 443) エンドポイントを使用して Lakehouse にデータを書き込みます。 ただし、Lakehouse からデータを読み取る場合は、TDS プロトコル (TCP 1433 番ポート) を使用する必要があります。 このプロトコルは、ステージング レイクハウスから参照されるクエリにデータをコピーして、さらに処理するために使用されます。 これは、両方の Lakehouse が同じ OneLake インスタンス内にある場合でも、最初のクエリを参照するクエリが失敗する可能性がある一方で、最初のクエリが成功する理由を説明します。
トラブルシューティング
この問題をトラブルシューティングするには、失敗したテーブルまたはアクティビティのエラーの詳細を確認します。エラーの詳細は、発生したエラーに関する情報を提供します。
解決策: ゲートウェイを実行しているサーバーに新しいファイアウォール規則を設定する
ゲートウェイ サーバーまたは顧客のプロキシ サーバー上のファイアウォール規則は、ゲートウェイ サーバーから以下のエンドポイントへの送信トラフィックを許可するように更新する必要があります。 ファイアウォールでワイルドカードがサポートされていない場合は、Azure IP 範囲とサービス タグからの IP アドレスを使用します。 毎月同期を維持する必要があります。
- プロトコル: TCP
- エンドポイント: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
- ポート: 1433
注
特定のシナリオでは、特にゲートウェイに最も近いリージョンではないリージョンにキャパシティーが配置されている場合、複数のエンドポイント(*cloudapp.azure.com へのアクセスを許可するようにファイアウォールを構成する必要があります。 この調整は、これらの条件下で発生する可能性があるリダイレクトに対応するために必要です。 *.cloudapp.azure.com 宛てのトラフィックが規則によって傍受されない場合は、ファイアウォールでデータリージョンの IP アドレス を許可することもできます。
エンドポイントのスコープをワークスペース内の実際の OneLake インスタンス (ワイルドカード *.datawarehouse.pbidedicated.windows.net ではなく) に絞り込む場合は、Fabric ワークスペースに移動し、DataflowsStagingLakehouse
を見つけて [詳細の表示] を選択すると、その URL を見つけることができます。 次に、SQL 接続文字列をコピーして貼り付けます。
エンドポイント名の全体は、次の例のようになります:
x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net
回避策: 複数のクエリを 1 つに結合するか、クエリのステージングを無効にする
ファイアウォール規則を更新できない場合は、相互に参照するクエリを 1 つのクエリに結合するか、参照されているすべてのクエリでステージングを無効にすることができます。 これは最終的な解決策ではなく、複雑な変換のパフォーマンスに影響を与える可能性がありますが、ファイアウォール規則を更新できるようになるまで一時的なソリューションとして使用できます。