In some cases, ENVCHANGE token can come after error token: for example,
on deadlocked transactions, deadlock victim receives error token,
followed by ENVCHANGE(TransactionRollback) message. If we stop on the
first error, we never get to rollback and won't reset transaction
desctiptor, causing next request on the same connection to fail.
In some cases, ENVCHANGE token can come after error token: for example, on deadlocked transactions, deadlock victim receives error token, followed by ENVCHANGE(TransactionRollback) message. If we stop on the first error, we never get to rollback and won't reset transaction desctiptor, causing next request on the same connection to fail.