question

sp_lock avatar image
sp_lock asked

Reporting Database recommendation

Hi all

I was wanting is little advice..

I am in the process of designing as SQL environment (SQL 2008). It includes 3 server to handle the productions database incase of failover (2 in cluster and 1 mirror in a different DC) and 1 more for reporting.

My question is around the reporting DB. The reporting db needs to be almost in sync with the prod db (within 5-15 mins). The main db is 300Gb and has around 500 trans/sec

What is the best option to get a copy of the prod database(s) to a reporting db?

Thanks

sql-server-2008sqlssrsreporting
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Rob Farley avatar image
Rob Farley answered

Log shipping is a nice option. You can put it in Standby mode, which means it'll act as a read-only environment for you, applying the next chunk of changes when there's no-one attached. You'd still want your ReportServer database on your main server, but your report data sources can be on the shipped one.

Just make sure that your reports get in and get out, so that you're not hanging around with a connection to a server that wants to apply the next log.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Fatherjack avatar image
Fatherjack answered

We use replication to do a synchronisation between the OLTP and OLAP data servers.

We did look at log shipping but the reporting solution doesnt give a long enough gap for it to take place, they are running reports almost constantly. Replication runs on different schedules according to how volatile the data is in the the various tables - code reference tables synch daily, others twice daily and the most important every 15 minutes. Report users are happy and never blocked from the database while a restore takes place.

Sometimes replication is a pain, getting stuck mid process but its never taken down either database and we just restart the agents and its off again.

I guess it depends on your load on the report server, if its only light and can cope with the up/down nature of logshipping then go with that, its certainly the easiest to implement and maintain.

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

TimothyAWiseman avatar image TimothyAWiseman commented ·
Both log shipping (as mentioned by Rob) and replication make good solutions depending on the details of the situation. Normally I prefer replication. It permits a more fine grained control which is often invaluable, especially if dealing with limited bandwidth of limited space.
0 Likes 0 ·
Steinar avatar image
Steinar answered

I have to agree with Faterjack here. Logshipping is not in my mind suited for this type of reporting setup because you need to disconnect users all the time to restore new logs. If that is OK , then go for logshipping, otherwise replication is the way to go.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Henrik Staun Poulsen avatar image
Henrik Staun Poulsen answered

May I suggest that you build a proper Datawarehouse?

That is a separat database, with a new table structure, which is more suited towards reporting. You need SSIS jobs to Extract data from your production server, to Transform data to the new format, and to Load data into the new tables; google ETL, or read The Data Warehouse Toolkit by Ralph Kimball et al.

This way you get fast reporting, and something that can take in data from multiple databases.

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Wimbush avatar image David Wimbush commented ·
+1 Definitely the way to go. Writing reports based on OLTP databases is creating a rod for your own back. Get a solid database with the crap cleaned up and you're halfway there. Each report is simpler, quicker to develop, runs faster and is more reliable.
0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.