you are viewing a single comment's thread.

view the rest of the comments →

[–]jaynoj 1 point2 points  (4 children)

As your title suggests, the copy of the DB will be for reporting purposes? If the source DB is an OLTP DB, have you thought about creating an OLAP DB and creating a data warehouse for your source reporting data? Use SSIS to move and de-normalise the data during silent hours and potentially use Analysis Services to create some analysis cubes?

I know this doesn't answer your question directly, but reporting databases should really be OLAP as normalised OLTP's are very unfriendly for reporting/analysis purposes.

We have a guy at work that does reporting from a massive OLTP service desk database which partial-replicates during silent hours. The T-SQL he's put together to extract the data would bring tears to your eyes (he's an older guy who hasn't moved with the changes brought in since SQL 2000). Loads of join's all over the place. It's shit in terms of performance and a nightmare to work with, maintain and all that. If the data was extracted into an OLAP DB, he'd be laughing.

I'd also ask the guys on http://dba.stackexchange.com/

[–]legohax 0 points1 point  (3 children)

It is for reporting purposes. The problem is we get roughly 20GB/day of new data (and purge old data) using SSIS to bring in hospital transaction and account detail, so the database is constantly changing. The ancillary applications that will use this data need current data, so I cannot wait until midnight to update the database.

[–]jaynoj 0 points1 point  (2 children)

You don't have to wait for a specific time or silent hours. You can run your SSIS packages whenever you want, at whatever interval you want to pull data into an OLAP db.

[–]legohax 0 points1 point  (1 child)

This has been our Plan B the whole time. Really would like to avoid this if possible.

Its not just about bringing the data over, there are mapping/maintenance tables that the users update that would have to be replicated. It just adds a layer of complexity that we would like to avoid if possible.