I want to share my experience on migration of 10 TB MS SQL Server DB.
I tried some scenarios for all about table splitting, exporting and importing processes to find the optimum downtime.
I read below notes and documents about the migration process.
You can find the scenarios and the results below;
Table Splitting Preperation;
I tried this preperation step with below 2 options and got the given time results.
Running the package splitting preperation by dividing packages and tables in 4 GB pieces took about 9 hours.
Running the package splitting preperation by dividing packages and tables in 1 GB pieces took about 32 hours.
Database Instance Export;
I tried this export step with below 3 options and got the given time results.
Export Run 1: Running Export on a virtual server
I ran the export on a virtual server with 32 CPU, 384 GB RAM. It took 2 days and 14 hours with 4 GB table split options.
Export Run 2: Using Distribution Monitor
I ran the export on 3 virtual machines;
1) 32 CPU and 384 GB RAM,
2) 20 CPU and 64 GBRAM and
3) 24 CPU and 64 GB RAM
Preperation step of distribution monitor distributed the packages on servers.
It took about 3 days to export about 70% of the data. This was so high time for export and I stopped the process.
Export Run 2: Running Export on a phsical and powerfull server
I ran the export on a physical server with 72 CPU, 1 TB RAM. It took 22 hours with 1 GB table split options.
This was optimal time for our system.
I ran 2 imports using the physical server with 72 CPU, 1 TB RAM.
First import process took 6 days 10 hours. I got log full errors during import.
Before second import I aapplied T610 ve T610 trace flags to SQL Server and changed MAXDOP parameter.
It took 1 day to import all tables but secondary index creation took 3 more days. It was totally 4 days and 7 hours.
Export time could be okey but import time still needs to be improved.
I still have 2 options to chek. One of them is applying recommendations about secondary indexes on above mentioned msdn blog document and trying the import process again.
The other one is to try R3Loaad export import using sockets.
When I finish it I will write about the results.