Forum Discussion

MWC914's avatar
MWC914
Frequent Visitor
8 months ago

Dataflow Gen 2 - Pre-login Handshake Error

 

I’m running into a persistent issue with Dataflows Gen2 in Microsoft Fabric and I’m hoping someone here has seen this before.

Whenever I try to open, preview, or refresh a Dataflow Gen2 that reads from our Lakehouse SQL endpoint, I get this error:

 

 
Microsoft SQL: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: TCP Provider, error: 0 - The semaphore timeout period has expired.) ErrorCode = -2146232060 Number = 121 Class = 20 State = 0

This happens even before any Power Query steps load.


What I’m seeing

Preview fails immediately

Dataflow can’t load preview data from the Lakehouse — it errors right away with the handshake failure.

Full refresh also fails

Different queries sometimes show additional errors like:

ModelBuilderOutputDestinationFailedRetrievingQueryAnalysis

 

 

What I’ve already checked

Lakehouse SQL endpoint is reachable from my network

If I paste the SQL endpoint URL into a browser:

 

 
https://<my-lakehouse-endpoint>.datawarehouse.fabric.microsoft.com

 

I get a 404, which is expected and means:

  • DNS resolves

  • HTTPS handshake works

  • No firewall/proxy blocking

    So it doesn’t appear to be a corporate network issue.

    Not related to CI/CD

    Tried in both CI/CD-enabled and non-CI/CD workspaces — same behavior.

    Not related to my queries

    The failure happens before any M code runs.

    Happens across multiple tables and dataflows

    So it doesn’t seem like a single query is corrupted.


    Environment details

    • Capacity: F4

    • Dataflows Gen2 in Fabric

    • Lakehouse SQL endpoint: hosted in Fabric

    • Workspace uses Lakehouse → Dataflow Gen2 → Semantic Model

    • Handshake errors appear randomly but frequently


      What I suspect

      It feels like the Fabric SQL endpoint or the capacity is unstable:

      • Endpoint sometimes won’t initialize

      • Dataflows can’t connect long enough to retrieve metadata

      • Errors show up before PQ executes

      • The “semaphore timeout” error usually points to backend timeouts, not client issues


        Has anyone else run into this?

        I’m mainly looking for:

        • Confirmation if this is a known issue with F-capacity

        • Whether others have had SQL endpoint stability problems

        • Any recommended remediations (besides switching to a larger capacity)

        • Whether Microsoft Support found anything useful if you filed a ticket

          I can involve IT / Support, but I want to confirm whether this is a recognized Fabric backend issue before escalating.

          Thanks in advance for any help — happy to provide more screenshots/logs if needed!

5 Replies

  • Hi MWC914

     

    I've never seen this in Fabric, but if I dig back into my SQL Server brain, the semaphore wait is a memory wait, a process is waiting for RAM to be available to allocate to the query. 

     

    Is your lakehouse being slammed? What does it look like in the DMVs? 

     

    I wonder if your existing processes are holding the memory utilization at 100% which is preventing any new connections. 

     

    If you start a new pipeline that connects to copy data, what happens? 

     

    If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution.

  • HI MWC914 ,

     

    Just checking if you managed to resolve the issue or not.

    If not - Based on your description it looks like you are connecting to a SQL Endpoint via Dataflow Gen2 not directly the Lakehouse. Is this correct?

    If yes, then I suggest making a connection directly to Lakehouse via Dataflow Gen2.

     

  • v-tejrama's avatar
    v-tejrama
    Community Support

    Hi MWC914 ,

     

    Thank you for the detailed breakdown. Since you’ve already ruled out your M code and network, it’s unlikely they’re causing the issue. A pre-login handshake failure before any steps run typically indicates a temporary problem on the Fabric side, such as the SQL endpoint taking too long to start or a brief resource limit on your capacity. We’ve seen similar cases recently, especially with smaller F-series capacities.

    The best next step is to open a support ticket with the exact UTC timestamp of a failed attempt, along with the workspace and capacity IDs. Support can review backend SQL endpoint logs to check for timeouts or throttling, which aren’t visible to customers. In the meantime, staggering your refreshes may help reduce errors. Let me know if you need assistance with the ticket details.

    To raise a support ticket for Fabric and Power BI, kindly follow the steps outlined in the following guide:

    How to create a Fabric and Power BI Support ticket - Power BI | Microsoft Learn


    Thank you.

     

    • v-tejrama's avatar
      v-tejrama
      Community Support

      Hi MWC914 ,

       

      I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.

       

      Thank you.

      • v-tejrama's avatar
        v-tejrama
        Community Support

        Hi MWC914 ,

         

        I wanted to follow up and see if you had a chance to review the information shared. If you have any further questions or need additional assistance, feel free to reach out.

        Thank you.