Condividi tramite


Considerazioni sul gateway dati locale e della rete virtuale per le destinazioni dati in Dataflow Gen2

Questo articolo elenca le limitazioni e le considerazioni sull'uso del Data Gateway negli scenari di destinazione dei dati in Dataflow Gen2.

Problemi di rete con la porta 1433 durante il riferimento alle query

Se si usa Microsoft Fabric Dataflow Gen2 con un gateway dati locale, è possibile che si verifichino problemi con il processo di aggiornamento del flusso di dati. Il problema sottostante si verifica quando il gateway non è in grado di connettersi al dataflow staging Lakehouse per leggere i dati prima di usarli nella query che ha fatto riferimento ai dati di staging. Questo problema non sussiste più se si dispone di una singola query che non fa riferimento a dati di staging e scrive in una destinazione dati.

Durante l'aggiornamento complessivo del flusso di dati, l'aggiornamento delle tabelle può risultare "Riuscito", ma la sezione delle attività può risultare come "Non riuscito". I dettagli dell'errore per l'attività WriteToDatabaseTableFrom_... indicano il seguente errore:

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

Nota

Dal punto di vista dell'architettura, il motore del flusso di dati usa un endpoint HTTPS in uscita (porta 443) per scrivere dati in un Lakehouse. Tuttavia, la lettura dei dati da Lakehouse richiede l'utilizzo del protocollo TDS (TCP sulla porta 1433). Questo protocollo viene utilizzato per copiare i dati dalla staging lakehouse alla query di riferimento per un'ulteriore elaborazione. Questo spiega perché la prima query ha esito positivo, mentre la query che fa riferimento alla prima query potrebbe non riuscire, anche quando entrambe le lakehouse si trovano nella stessa istanza di OneLake.

Risoluzione dei problemi

Per risolvere il problema, esaminare i dettagli dell'errore per la tabella o l'attività non riuscita, che fornisce informazioni sull'errore rilevato.

Screenshot dell'attività WriteToDatabaseTablefrom che mostra il messaggio di errore.

Soluzione: impostare nuove regole del firewall nel server che esegue il gateway

Le regole del firewall nel server gateway e/o nei server proxy del cliente devono essere aggiornate per consentire il traffico in uscita dal server gateway agli endpoint seguenti. Se il firewall non supporta i caratteri jolly, usare gli indirizzi IP degli intervalli IP di Azure e i tag di servizio. Devono essere mantenuti sincronizzati ogni mese.

  • Protocollo: TCP
  • Endpoint: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
  • Porta: 1433

Nota

In alcuni scenari, in particolare quando la capacità si trova in un'area non vicinissima al gateway, potrebbe essere necessario configurare il firewall per consentire l'accesso a più endpoint (*cloudapp.azure.com). Questa rettifica è necessaria per supportare i reindirizzamenti che possono verificarsi in queste condizioni. Se il traffico destinato a *.cloudapp.azure.com non viene intercettato dalla regola, in alternativa è possibile autorizzare nel tuo firewall gli indirizzi IP per la tua area dati.

Se si vuole limitare l'ambito dell'endpoint all'istanza OneLake effettiva in un'area di lavoro (anziché il carattere jolly *.datawarehouse.pbidedicated.windows.net), tale URL può essere trovato passando all'area di lavoro Fabric, individuando DataflowsStagingLakehouse, e selezionando Visualizza dettagli. Poi, copiare e incollare la stringa di connessione SQL.

Screenshot dell'area di lavoro Fabric con DataflowsStagingLakehouse, con i puntini di sospensione selezionati e l'opzione Visualizza dettagli evidenziata.

Screenshot delle informazioni dettagliate di DataflowsStagingLakehouse, con la stringa di connessione SQL evidenziata.

Il nome dell'endpoint è simile all'esempio seguente:

x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net

Soluzione alternativa: combinare più query in una o disabilitare la memorizzazione temporanea per le query

Se non è possibile aggiornare le regole del firewall, è possibile combinare le query che si riferiscono l'una all'altra in una singola query o disabilitare la modalità di staging su tutte le query di riferimento. Anche se questa non è una soluzione finale e potrebbe influire sulle prestazioni con trasformazioni complesse, ma può essere usata come soluzione temporanea fino a quando le regole del firewall non possono essere aggiornate.