SQL Server – Database Compatibility Requirement for Transactional Replication

compatibility-levelreplicationsql servertransactional-replication

Does the subscriber "within two version requirement" for transactional replication from this MSDN article apply to the SQL Server Instance, Database Compatibility Level, or Both?

For example, would replication work with this environment setup?

  • Publisher and Subscriber SQL Instance: SQL Server 2014 Enterprise Edition 64-bit (12.0)
  • Distributor Database Compatibility Level: 110
  • Publisher Database Compatibility Level: 110
  • Subscriber SQL Instance: SQL Server 2017 Enterprise Edition 64-bit (14.0)
  • Subscriber Database Compatibility Level: 140

Best Answer

Does the subscriber "within two version requirement" for transactional replication from this MSDN article apply to the SQL Server Instance, Database Compatibility Level, or Both?

Yes. No. No.

The database compatibility level is irrelevant, and you would never set the database compatibility on the distribution database, as it's a system database.

A SQL Server 2014 publisher/distributor can have a SQL Server 2017 subscriber.

SQL Server 2017 supports compatibility levels back to 100, so you can set the subscriber database to 110 compatibility level if you want to. And you might need to if you publish views, stored procedures, stored procedure executions, or have triggers on subscriber tables that aren't NOT FOR REPLICATION.