Transport-level error

Bala 181 Reputation points
2021-03-19T10:58:00.607+00:00

Copy activity from SQL Server to destination reported the following. What caused it and how do we workaround it?

            "Message": "Failure happened on 'Source' side. ErrorCode=SqlOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=A database operation failed with the following error: 'A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)',Source=,''Type=System.Data.SqlClient.SqlException,Message=A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.),Source=.Net SqlClient Data Provider,SqlErrorNumber=10054,Class=20,ErrorCode=-2146232060,State=0,Errors=[{Class=20,Number=10054,State=0,Message=A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.),},],''Type=System.ComponentModel.Win32Exception,Message=An existing connection was forcibly closed by the remote host,Source=,'",
Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
9,342 questions
{count} votes

1 answer

Sort by: Most helpful
  1. KranthiPakala-MSFT 46,412 Reputation points Microsoft Employee
    2021-03-19T18:39:23.16+00:00

    Hi @Bala ,

    Thanks for reaching out.

    From the past experiences I have noticed this error usually occurs when there are transient network issues.

    Here are few suggestions which helped others resolve similar issues. I would recommend to try these and see if that helps in your case.

    • Check if the connection policy for your Azure SQL is Redirect. If not please try changing connection policy to Redirect and see if that helps. For more info about connection policy please refer to this doc - Azure SQL Connection policy
    • To implement a retry logic in your ADF pipeline. It is strongly recommended that your client program (ADF in this case) has retry logic so that it could reestablish a connection after giving the transient fault time to correct itself. We recommend that you delay for 5 seconds before your first retry. Retrying after a delay shorter than 5-seconds risks overwhelming the cloud service. For each subsequent retry the delay should grow exponentially, up to a maximum of 60 seconds.

    Here is a document which has steps to resolve transient connectivity issues: Steps to resolve transient connectivity issues

    • Check the Microsoft Azure Service Dashboard for any known outages that occurred during the time during which the errors were reported by the application.
    • Applications that connect to a cloud service such as Azure SQL Database should expect periodic reconfiguration events and implement retry logic to handle these errors instead of surfacing application errors to users.
    • As a database approaches its resource limits, it can seem to be a transient connectivity issue. See Resource limits.

    If connectivity problems continue consistently, or if the duration for which your application encounters the error exceeds 60 seconds or if you see multiple occurrences of the error in a given day, please file a support a ticket so that a support engineer can take a deeper look in to it.

    Hope the above info helps. Do let us know how it goes.

    ----------

    Please don’t forget to Accept Answer and Up-Vote wherever the information provided helps you, this can be beneficial to other community members.

    2 people found this answer helpful.