Sql-server – re-replicate a transactional publication? Should I

sql serversql-server-2008-r2transactional-replication

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?

Best Answer

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