Поделиться через


Рекомендации по локальному и виртуальному шлюзу данных для назначения данных в потоке данных 2-го поколения

В этой статье перечислены ограничения и рекомендации при использовании шлюза данных с сценариями назначения данных в потоке данных 2-го поколения.

Проблемы с подключением к сети через порт 1433, когда выполняются запросы

При использовании Потока данных Microsoft Fabric 2-го поколения с локальным шлюзом данных могут возникнуть проблемы с процессом обновления потока данных. Основная проблема возникает, когда шлюз не может подключиться к промежуточной площадке данных в Lakehouse, чтобы считать данные перед их использованием в запросе, который ссылается на стагированные данные. Эта проблема больше не возникает, если у вас есть единственный запрос, который не ссылается на промежуточные данные и записывает их в конечное местоположение данных.

Во время общего обновления потока данных обновление таблиц может отображаться как "Успешно", но в разделе действий отображается сообщение "Сбой". Сведения об ошибке 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 в ссылочный запрос для дальнейшей обработки. Это объясняет, почему первый запрос успешно выполнен, а запрос, который ссылается на первый запрос, может завершиться ошибкой, даже если оба lakehouse находятся в одной инстанции OneLake.

Устранение неполадок

Чтобы устранить проблему, просмотрите сведения об ошибке для таблицы или действия, которые завершились неудачно. Это даст вам информацию об обнаруженной ошибке.

Снимок экрана: действие WriteToDatabaseTablefrom с сообщением об ошибке.

Решение. Настройка новых правил брандмауэра на сервере под управлением шлюза

Правила брандмауэра на сервере шлюза и (или) прокси-серверах клиента необходимо обновить, чтобы разрешить исходящий трафик с сервера шлюза на указанные ниже конечные точки. Если брандмауэр не поддерживает подстановочные знаки, используйте IP-адреса из диапазонов IP-адресов Azure и тегов служб. Они должны оставаться синхронизированными каждый месяц.

  • Протокол: 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), этот URL-адрес можно найти, перейдя к рабочей области Fabric, найдите DataflowsStagingLakehouse и выберите Просмотр сведений. Затем скопируйте и вставьте строка подключения SQL.

Снимок экрана рабочей области Fabric с DataflowsStagingLakehouse, где выбрано многоточие и выделен параметр

Снимок экрана сведений о DataflowsStagingLakehouse с выделенной строкой подключения SQL.

Имя всей конечной точки выглядит примерно так:

x6eps4xrq2xudenlfv6naeo3i4-l27nd6wdk4oephe4gz4j7mdzka.datawarehouse.pbidedicated.windows.net

Обходное решение: объединение нескольких запросов в один или отключение промежуточного хранения для запросов

Если вы не можете обновить правила брандмауэра, можно объединить связанные запросы в один или отключить подготовку всех указанных запросов. Хотя это не окончательное решение и может повлиять на производительность со сложными преобразованиями, но его можно использовать в качестве временного решения до тех пор, пока правила брандмауэра не будут обновлены.