Hi, I need to publish a Transaction database to a reporting server for decision support queries.
Requirements:
- The data in the reporting server can be stale as compared to the transaction database for say, ~6 hours old.
- The Transaction database is ~1TB. Daily transaction size is less than ~5% of full database size (< 50 GB).
- The transaction server instance and the reporting server instance are different, and maynot share the same SAN space(shared storage) or datacenter.
- The Transaction DB has CDC and I would like to retain CDC in the reporting database
- Need the most efficient way to publish the database into the reporting server.
- The Reporting DB should be read-only.
I am considering a Differential Backup option to publish the database. Below are the details:
- Take a Full Backup of the Transaction DB and restore in the Reporting Server using “StandBy mode”. Post restore the Reporting DB will be read-able.
- Every next 4 hours take a differential backup of the Transaction DB and restore in the Reporting Server using “StandBy mode”.
- Weekly take a Full Backup of the Transaction DB and restore in the Reporting Server using “StandBy mode”, to re-initialize the Differential point.
Questions:
- With the Differential approach which I described above, I feel that the Reporting Server can be kept in sync with the Transaction Server in an efficient manner.
- What is the additional load that I am putting on the Transaction DB when I take frequent (every 6 hours) of differential backup process?
- I have considered the SQL AlwaysOn option instead of Differential Backup/Restore. But given that AlwaysOn is a Synchronous process(synchronous transaction between the Transaction and HighAvailability server), the publish into the Reporting Server might add load on the Transaction Server. Therefore instead of AlwaysOn considering Differential Backup/Restore to publish the database.
- When Restoring DB using in the Reporting Server using “StandBy mode” we need to specify standby_file_name. My understanding is that the uncommitted transactions in the Backup, at restore time are undone and placed in the standby file. Does this mean that I am losing transactions using the Standby mode, since the transactions are done? Will the transactions automatically be recovered, when I apply the next differential restore? I cannot lose the transactions.
Thanks,
Kishore Sagar