I would like to start by specifying I am no DBA and have basic understanding of advanced DB concepts. I am trying to find the optimal solution to replicate our production database to our pre-production environment automatically.
Our setup is as follow in production:
- Batch runs at night and populate staging database
- Once complete then our Mart database is loaded using staging data.
- Mart data does not change until the next load the following day.
- Mart data is currently 200Gb and we have planned growth up to 1TB over a few years.
- DB currently set to simple recovery mode and backup taken every night.
What I would like to achieve is
- One off replication of Mart data to separate pre-prod server
- Minimum impact on prod server during business hours or if prod impacted this has to be performed outside of business hours.
- Ability to run batch in pre-prod on an adhoc basis to test batch changes from recent prod data. This means pre-prod mart cannot be read only.
Currently this process is manual and due to DB size and resources availability cannot always be done as required. In order to execute performance tests and reconciliation after changes it would be tremendously useful to have a daily process which can achieve this automatically.
Any personal experience or recommendation on the best way to achieve this would help. Thanks.