Let me repeat the requirements:
- reduce backup size
- reduce the number of records in the database by archiving
- archive data without excessive logging
To reduce the size of the backup, you need to move the data to another database.
As for journaling, you need to look at the minimum journaling rules and make sure that you keep track of them. Ensure that the recovery model of the database you are inserting into is in a simple or full-blown recovery model.
To insert archive data, you want to disconnect non-clusters (and rebuild them after the insert is completed), use trace flag 610, if there is a clustered index, and place the table lock on the destination table. There are many more rules in the link that you want to check, but these are the basics.
There is no minimum registration for deletion, but you can minimize the growth of the log file by deleting chunks using the top sentence. The main idea: (transition to a simple recovery model at the time of deletion to limit file growth):
SELECT NULL; WHILE @@ROWCOUNT > 0 DELETE TOP (50000) FROM TABLE WHERE Condition = TRUE;
Adjust the top number to adjust how much writing to the file is performed for deletion. You will also want to make sure that the predicate condition is correct so that you delete only what you are going to. This will delete 50,000, and then if the string is returned, it will be repeated until the string is returned.
If you really need minimal logging for everything, you can split the source table for a week, create a clone of the source table (with the same partition function and identical indexing structure), switch the partition from the source table to the cloned table, paste from the cloned table into the archive table , and then truncate the cloned table. The advantage of this is truncation rather than deletion. The disadvantage is that it is much more difficult to configure, maintain and query (you get one heap or b-tree for each partition, so if all queries do not use partition deletion, the clustered index / table scan should scan several b -trees / heaps instead of one).