The SQL transformation is resilient to database deadlock errors when you enable the Session Retry on Deadlock session property. The SQL transformation is resilient to database deadlock errors in Query mode but it is not resilient to deadlock errors in Script mode. If a deadlock occurs in Query mode, the Integration Service tries to reconnect to the database for the number of deadlock retries that you configure. Configure the Integration Service to set the number of deadlock retries and the deadlock sleep time period.
When a deadlock occurs, the Integration Service retries the SQL statements in the current row if the current row has no DML statements. If the row contain a DML statement such as INSERT, UPDATE, or DELETE, the Integration Service does not process the current row again.
For a dynamic connection, if the retry attempt fails, the Integration Service returns an error in the SQLError port. The Integration Service processes the next statement based on the Continue on SQL Error Within Row property. If the property is disabled, the Integration Service skips the current row. If the current row contains a DML statement such as INSERT, UPDATE, or DELETE, the Integration Service increments the error count.
For a static connection, if the retry attempts fail, the Integration Service returns an error in the SQLError port. If the current row contains a DML statement, then the Integration Service fails the session. The Integration Service processes the next statement based on Continue on SQL Error Within a Row property. If the property is disabled the Integration Service skips the current row.