From Replication Considerations (SQL Server Express) in Books Online, SQL Server Express Edition can only act as subscriber, and only by using Windows Sync Manager.

Can anyone suggest any other methods or third party freeware tools available to produce a Primary - Secondary model like transactional replication between two Express Edition instances?

  • It must be free.
  • It must not use triggers.
  • I cannot build a separate application for this.

I'm searching for freeware or a tool like SymmetricDS, but unfortunately SymmetricDS adds too many triggers. For 20 tables, I had more than 100 triggers in my database. Moreover, those triggers will be considered as malware in concern with security. It does performance degradation too. Still, when there are triggers that track down what are we doing, it will be a security concern, because we can't provide 100% assurance that tracked data will be secured as it's the business logic of SymmetricDS. And moreover, I am not going to use that product, so talking about it over and over won't solve my problem :(

  • That's not entirely true. The BOL article mentions you must use Windows Sync Manager or RMO to synchronize an Express subscription. However, you can also invoke the agent executable from the command line on-demand or from a batch script as a scheduled task. Oct 18, 2016 at 16:24
  • It doesn't relate my question anyway, I just need some hint or solution . Thanks though
    – Kamikaze
    Oct 20, 2016 at 9:16

2 Answers 2


An answer to Replication from one SQL Server Express to another on Stack Overflow offers some suggestions:

In summary (from the link):

  • Write an application that transfers "articles" from your "publisher" db to your "subscriber" db(s).


  • Create a set of views to have a summation of data that you want to be published. Then create INSTEAD OF triggers on these views (you can't create an AFTER/FOR trigger on a view) to process that data and transfer it to your "subscriber"(s).

Triggers On Views? What For? by Michael J Swart has some good information on view triggers.


Without one of:

  • The "proper" built-in replication which you would need to upgrade from Express for at least one instance in order to use
  • Application specific tooling that you will need to write (because it is specific to your application)

the only way to provide replication is with triggers and you are going to need at least one per object that needs to be replicated.

Well, there is one other option but that is likely to be impractical unless your application was designed from the ground up to be data-layer agnostic: switch to another DBMS that supports replication without license fees.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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