I have a SQL Server 2008r2 database ( Let's call it "BIG_DB") at 200GB. This server gets hit hard. It is the back end for an application, BIG_DB is a source of a lot of reporting.
There are about 10 tables that are being queried for reports constantly and I would like to offset that load to another server( Let's call it "OFFSET"). The Boss wants a maximum 2 minute latency between the BIG_DB AND OFFSET on these 10 tables. This is my proposed solution:
When an insert or update happens on any one of those 10 tables on BIG_DB, I write that to a corresponding table ("UPDATE_TABLE") with a similar name and same column list + default GETDATE() column on BIG_DB.
Then have OFFSET grab the info on BIG_DB.UPDATE_TABLE and place it into the OFFSET database with the same table setup as BIG_DB.
I then have OFFSET serve the reports.
I have only one geographic location, servers are only in house. BIG_DB is OLTP. Is there a better solution? Do I go with replication, SSIS, or straight T-SQL with a linked server? or other?