Forum Discussion
Getting On-Prem data from SQL Server to Microsoft Fabric using Dataflow (gen2)
- 2 years ago
Dhruv_Ranpura so guys, ok so here's the deal (I am learning a lot about all this firewall stuff, hence why all the back and forth).
port 1434 is irrelevant.
One more thing for future readers: The endpoint listed on the MS doc page (*.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com) are wildcard FQDNs. So it depends on the firewall what you can or cannot setup from what I've been told.
In our case, we specified the 0.0.0.0/TCP/1433 for outgoing traffic and that did the trick.
Oh man, what confusion... finally we got to an understanding. 😥 The Microsoft documentation should seriously be rewritten on this point, because the people who are going to read it are Fabric users, not network admins.
That's not it. I had the same exact issue for days. Everything was working fine before. And when it was working fine, my gateway had already been configured according to the Microsoft doc. As a matter of fact, the issue still happens today when using only ONE DFg2. So that cannot be the answer.
However, if Dhruv_Ranpura you use 2 chained DFg2, that is, one extracts the data from the on-prem DB, and the second one uses the first DF as a source to load the data into the lakehouse, then this works. The chaining is setup as follows:
DF1 needs staging enabled AND no data destination AND you need to publish it
DF2 needs staging disabled AND a data destination, ie your lakehouse AND you need to publish it. (I say 'needs staging disabled' because if enabled you would duplicate your data and use twice the Fabric storage, that is, once when the data is copied into the default staging lakehouse automatically provisioned by Fabric, and twice when storing the data into your user created lakehouse.)
v-cboorla-msft Here is the case# 2401190040000098 I have with support for this goddamn issue that hasn't been fixed in months now. I guess we must hope that the release of the new OPGW (on-prem gateway) will fix all this and allow on-prem data extraction to be performed with one DFg2 instead of 2.
Thanks Element115 for your response.
I have been trying the method suggested by you. I have created one Dataflow(Gen2) with no data destination selection and published it. Now, I created another Dataflow(Gen2) and choose source as Dataflows (Fabric) and selected Dataflow1 and its table and when click on next I am getting this error.
I have checked that my SQL server is working fine on port 1433. So, why I am getting this error? Please guide.
- Element1152 years agoMemorable Member
Dhruv_Ranpura I see... so it issues the same error msg + now the handshake error. The latter then could mean it's not able to see your on-prem DB through the gateway.
When you are inside Power Query/Dataflow Gen2, in your first dataflow, can you see the data come in, that is, does Power Query show you a table of your data?
- Dhruv_Ranpura2 years agoFrequent Visitor
Yes, Element115 when I created first DFGen2 I am able to see the data . It is showing the tables.
Then I created another DFGen2 and while selecting the Dataflow 1 as a input option getting the error of pre-login hanshake error.
- Element1152 years agoMemorable Member
OK so the DF is able to talk to the DB successfully via the GW, otherwise there wouldn't be any data coming through to the first DF. So it's when it goes back to the GW and to the data destination that something funky happens with the TLS protocol. In other words,
DF2--->GW--->LH
which is weird because it doesn't do that for me, and I use the exact same architecture, which in my case got rid of all these weird errors:
on-prem DB--->GW--->DF1 ---> DF2--->GW--->LH
Also, from what I have seen, there is no real tweaking available at the GW UI for TLS. Only the firewall rules. Speaking of which, my sysadmin couldn't get this endpoint to respond: *.dfs.fabric.microsoft.com, as if it were misconfigured. But ETL still works, so not sure how essential it is to have this endpoint in the firewall rules.
I sure wish Microsoft would provide some in detail and specific guidance on this, if only with a detailed and cleared doc write-up, ie more than just what can be found here: On-premises data gateway considerations for data destinations in Dataflow Gen2 - Microsoft Fabric | Microsoft Learn I mean, we are in the weeds here, and if this product is meant for BI or data people but NOT network engineers, well then... we got a problem now, don't we?
- Element1152 years agoMemorable Member
Dhruv_Ranpura Also, in your firewall rules, do you have this:
- Protocol: TCP
- Endpoints: *.datawarehouse.pbidedicated.windows.net, *.datawarehouse.fabric.microsoft.com, *.dfs.fabric.microsoft.com
- Port: 1433
- Element1152 years agoMemorable Member
Dhruv_Ranpura anros Please ignore this previous msg. I just found out that by deleting all the endpoints from the firewall, and replacing the respective rules with only one rule opening TCP/1433 for MS-SQL Server service, it fixed all this connectivity nightmare. (DATAFLOW and ON-PREM DB connectivity solution - Microsoft Fabric Community)
Why does the doc say to add the endpoints, I have no idea. Delete is your friend in this case.
- Element1152 years agoMemorable Member
You might find this excellent explanation from pqian_MSFT about how data flows back and forth when using a data GW to an on-prem DB useful: Re: Dataflow refresh started failing today MashupE... - Microsoft Fabric Community