If you wanted to add indexes to a live table, there are two major approaches:
APPROACH #1 : pt-online-schema-change (Preferred Choice)
This tool is spectacular. It will create a temp table for you and populate it.
In oversimplified terms, it does this for mydb.mytable:
CREATE TABLE mydb.mytable_new LIKE mydb.mytable;
INSERT INTO mydb.mytable_new SELECT * ...
I have issues setting up the JDBC driver
Jailer already ships several database JDBC drivers (PostgreSQL, MySQL, MSSQL, etc.).
They are located in the "lib" subdirectory. So there is no need to update unless there is an issue.
The PostgreSQL JDBC driver shipped with the current Jailer version should be new enough to handle the task (it's this one: ...
I have been through the same problem recently and can comment on some attempts and my conclusions after a lot of research into it.
In my case I had to partition some data that would be distributed in different databases. But note that we are dealing with the same fundamental problem that is partial data migration.
The first problem is regarding data ...
To add to Jovanpop's answer, you should still be able to take copy_only backups with TDE turned on if you are using AKV integration i.e. BYOK TDE, as long as your destination instance in other subscription has access to the same encryption key used on source instance.
copy only backups are currently the only solution. Cross subscription pitr and geo restore don't work because currently we cannot verify that initiator has all required permissions both on source and target subscriptions.
You say you have two servers, and you can not afford any downtime so I am going to make the leap and guess you are using AlwaysOn, on your existing on prem servers.
You can include/add Azure databases in your on prem AG, if you are using a listener, you could just failover to Azure when you are ready. Later drop the on prem servers. Near Zero downtime, and ...
If you configure replication, replicate to the external site, keep the replication going until a quiet time then stop it and reconfigure the destination as not replicated. There are some limits replicating to Azure, see https://docs.microsoft.com/en-us/azure/sql-database/replication-to-sql-database to see if they apply to you. There are also some differences ...