Hi @Vanaja Kasturi
Thank you for reaching out and for the detailed error message.
The error "The semaphore timeout period has expired" typically indicates a network connectivity issue or transient timeout between your SQL Server and the integration runtime (IR) in Azure Data Factory. While it’s working in dev with a higher volume, the issue in your current environment may be related to:
Possible Causes:
- Network latency or instability between the self-hosted integration runtime and the source SQL Server.
- Resource exhaustion on the SQL Server or IR machine (CPU/memory/network).
- Firewall, VPN, or proxy timeouts affecting long-running data transfers.
- Large CDC result sets taking too long to transfer and hitting the OS-level TCP timeout.
Suggested Actions:
- Check the SQL Server health (CPU, memory, disk I/O) during the pipeline run.
- Review the IR machine’s network performance and logs — ensure it has a reliable and fast connection to the SQL Server.
- Split the load: If possible, try partitioning the CDC data or reducing the data batch size to see if smaller chunks succeed.
- Set retry and timeout settings: Ensure your linked service and copy activity have retry policies configured. You can also consider increasing timeout values where applicable.
If the issue persists, it may help to:
- Test a manual connection from the IR machine to SQL Server (e.g., using SSMS).
- Share details like:
- Are you using self-hosted or Azure IR?
- Estimated size of CDC data for this run?
- Whether any recent network or SQL Server changes occurred in this environment?
I hope this information helps. Please do let us know if you have any further queries.
Kindly consider upvoting the comment if the information provided is helpful. This can assist other community members in resolving similar issues.