We use SQL Server 2012 and its new Availability Groups (AG) feature. There is a task for moving old data of some tables from one database to another database. Both databases are included into different availability groups. Previously (before using the AG feature) the task was resolved by adding the second server instance as a linked server (sp_addlinkedserver) and executing a distributed transaction in the following way:
- begin transaction
- insert old data into server2.table2 from server1.table1
- delete old data from server1.table1
- commit transaction
Unfortunately, distributed transactions are not supported for AG because databases may become inconsistent in case of failover (http://technet.microsoft.com/en-us/library/ms366279.aspx).
Is there some way to implement this task with keeping the AG feature and without implementing the rollback logic in case of exceptions?