0

We use a cloud-based SAAS provider as one of our line-of-business applications. An on-site SQL Server 2008 R2 instance in our DMZ is a transactional replication subscriber to a number of publications on the provider's SQL Server.

We are interested in building a reporting server containing much if not all of the data currently being replicated from our provider. What is the most appropriate mechanism, if any, to support this objective if we wish to accomplish it in-house (as opposed to the possibility of adding the reporting server as a second subscriber to the provider's publications)?

Conceptually, the most appealing prospect would be to establish our current subscriber as a publisher in its own right and re-replicate the data to the reporting server, but that seems fraught with risk -- our publications total more than 250GB of data, and any issue necessitating the re-initialization of every subscription to our provider's publications would result in a 24-to-36-hour outage. The biggest upside to "re-replicating" would be the ability to optimize indexes on the reporting server, which to my knowledge would not be practical or even possible using log shipping or database mirroring.

Is there a way to accomplish this in-house using the standard SQL Server stack? If so, what are the pros and cons? Or would our best option be to look into additional subscriptions to the SAAS publications?

  • I've not ever seen a re-replication before. Do you have the option of setting up a distributor and pointing the publications there? If so, you can set up as many subscriptions to the data as you would like with out impacting your publishers. – Steve Mangiameli Mar 2 '15 at 21:56
  • I've never seen such an arrangement before, either. The distributor is currently on the provider's network; I don't believe they would support relocating it to our network, if I've understood your follow-up correctly. – Bob C Mar 2 '15 at 22:34
1

Yes, replication can be setup as per requirement. kindly follow below steps to configure replication :

  1. Configure transactional replication between primary and secondary server. Make sure initialization of objeccts are required to again setup replication.
  2. kindly follow below article to setup replication again between secondary and reporting server.

https://www.mssqltips.com/sqlservertip/2386/initialize-sql-server-replication-using-a-database-backup/ 3. Make sure to add appropriate indexes on replicated objects to avoid latency. check procedure_stats for more detail.

I hope this would help to setup.

enter image description here

0

This is possible. I have seen it in production, enterprise level.
Cons: The subscriber has to be initialized and completely caught up with undistributed transactions before it can be set it up as a publisher. Initializing the second subscribers must be done via backup/restore. The re-distributor can block the first distributor if you create a snapshot and the articles are set to drop and recreate. Any latency problems with the first replication trickle down to the re-distributed replication. Make sure you have plenty of disk space for transaction log growth should you need it. Make sure you have plenty of disk space for distribution growth should you need it.

  • Thanks, @stacylaray. What happens if you try to set up the subscriber as a publisher before it has completely caught up with undistributed transactions? Is the attempt prevented, or does it fail gracefully? – Bob C Mar 3 '15 at 14:36
  • Sorry, Bob, I corrected my answer. It won't fail, you just don't want start off already behind. – stacylaray Mar 3 '15 at 15:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.