I'm interested to understand how the always-on feature behaves in the context of failures (for instance session/connection and instance failure).
I'm especially interested in the following cases
- One client request as a t/sql procedure that commits at the end
- Several client requests that finally commit (what happens if the session fails in one of the requests, will the previous contents get replayed when the new session is created during failover)
- Client uses DTC (Is this supported?) and does it work (its probably a variation of the previous question
- What happens if the client request fails during commit processing? Will the client know if the commit completed, but was simply not returned to the client. Otherwise if he repeats the request after obtaining a new session it will have persisted the same transaction twice
- If I have set session state parameters like collation, will they automatically be re-established on the other site or do I need to write something like a callback?
- What happens if t-sql uses variables that are kept between requests, does failover re-establish the same values or the client needs to re-establish the same state?
Thanks in advance