Alternatives to offload Reporting Services workload from main Database

Posted on 2008-06-09
Last Modified: 2012-05-05
We are running our SQL2005 databases on an HP EVA SAN and are licensed for local mirroringclone, snapshotting and snapcloning. We also have DoubleTake for disaster recovery to a second SAN. We are in the process of implementing reporting services but do not want to drag down the preformance of our production databases with long running queries. We would like to use SQL reporting services for near-real-time reporting but that can include multiple batched reports, so we want to have a second server with SSRS and a near-real-time copy on which we can run the reports. In looking at the various SAN alternatives for creating copies and at double take it appears the destination cannot really be used for reporting unless it is a snapshort (point in time) followed by bringing up the destination SQL instance, as opposed to being a mirror (up to date). Same issue for DoubleTake (must snapshot and bring up instance). SQL Database mirroring does not allow access to the destination database because it is in constant recovery mode. The only thing I can see that might work is basic SQL transactional replication. Anyone else have any possible solutions?
Question by:dennis_boruck
  • 3
  • 2
LVL 60

Expert Comment

ID: 21744899
You can use transactional replication to setup a near real time reporting environment....

Author Comment

ID: 21745049
I proposed alternative in my question. I had hoped there was some other alternative, but if not I will have to live with it. Let me see if anyone else has any other possible ideas because transactional replication has a number of restrictions associated with it that I would prefer to avoid.


LVL 60

Expert Comment

ID: 21745253
Ummm...what restrictions are you talking about?

Author Comment

ID: 21745803
It requires additional fields on the tables to insure uniqueness if there is no primary key (possibly transaction sets). Secondly, when a full snapshot must be propagated tables being snapped are locked, thus preventing writes on the live database on that table. Finally, there are certain kinds of schema changes that cannot be replicated but will cause the database to be re-snapped afterward. The SAN and double-take based solutions do not have these limitations, however their destination databases are not usable while mirroring either, so if we need a near-real-time database that can be used for reporting, I suspect we are stuck with transactional replication.

Have you created separate databases for reporting services using transactional replication?

LVL 60

Accepted Solution

chapmandew earned 250 total points
ID: 21745823
Yes, I've always created the publications at night on databases that have heavy loads.  If you don't have primary keys on your tables, then you may want to start thinking about meaningful ones to put on them before you transfer them....not sure if that is a limitation though.  Some schema changes are limited, but not many.  Its been a perfect solution for me over the years....if you do it right, its a great reporting solution.

>>Have you created separate databases for reporting services using transactional replication?

Not sure what you're asking.

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now