Description
Async Client fails to merge records to [ax].[RETAILCHANNELTABLE] table with error Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding
Steps that did not help
- Increase timeouts for Async Client
Steps that worked for me
- Cancel running 1070 job
- Manually delete all records from [AX].[RETAILCHANNELTABLE]
- Run 1070 (Stores) job in ‘Full sync‘ mode – it will insert all records to
[AX].[RETAILCHANNELTABLE] table.
Similar error often happens during [ax].[INVENTTABLE] table merge (1040 job).
Error details
StoreConnect.Request.SQLHandler.ProcessTargetRequestHeaderException:
ProcessTargetRequestHeader failed to execute all write requests.
StoreConnect.Request.SQLHandler.ProcessWriteRequestException: Write request on table:
[ax].[RETAILCHANNELTABLE] failed to execute. StoreConnect.Request.SQLHandler.RunException: Run()
failed while performing write operation on table. StoreConnect.Request.SQLHandler.PerformWriteOperationException:
Query: MERGE [ax].[RETAILCHANNELTABLE] AS dst USING (SELECT [CHANNELTIMEZONE],[CHANNELTIMEZONEINFOID],[CHANNELTYPE],
[CURRENCY],[PRICEINCLUDESSALESTAX],[RECID],[RELATIONTYPE],[TRANSACTIONSERVICEPROFILE]
FROM [#ax_RETAILCHANNELTABLE_8a33dd10-efe0-4116-8bc0-60ff05669aa0]) AS src ON (dst.[RECID]=src.[RECID])
WHEN MATCHED THEN UPDATE SET …. WHEN NOT MATCHED THEN INSERT … DROP
TABLE [#ax_RETAILCHANNELTABLE_8a33dd10-efe0-4116-8bc0-60ff05669aa0]; System.Data.SqlClient.SqlException:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated. —> System.ComponentModel.Win32Exception:
The wait operation timed out … at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() …
at Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.SCSqlTargetRequestHandler.
ProcessWriteRequest(SqlConnection connection, SqlTransaction transaction) at
Microsoft.Dynamics.Retail.StoreConnect.Request.SQLHandler.
SCSqlTargetRequestHandler.ProcessTargetRequestHeader(ISCTargetRequestHeader targetRequestHeader) …
at Microsoft.Dynamics.Retail.SynchClient.Core.DownloadAgent.ApplySessionFileToClientDatabase(SessionManager sessionMgr, String fileName