Transactional Replication failing between SQL Server 2012 and SQL Server 2016 versions - sql-server

As per the Microsoft documentation - A Subscriber to a transactional publication can be any version within two versions of the Publisher version. For example: a SQL Server 2012 (11.x) Publisher can have SQL Server 2014 (12.x) and SQL Server 2016 (13.x) Subscribers; and a SQL Server 2016 (13.x) Publisher can have SQL Server 2014 (12.x) and SQL Server 2012 (11.x) Subscribers.
But the subscription I am trying to create from Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) to Microsoft SQL Server 2016 (SP2-CU12) (KB4536648) - 13.0.5698.0 (X64) is failing and here is the error message I receive - The selected subscriber does not satisfy the minimum version compatibility level of the selected publication.
Are these versions not compatible?

The other half of the version requirements is that your distributor be the highest SQL Server version in your Replication topography.
In your case, you are replicating from SQL Server 2012 to SQL Server 2016, which works only if your distributor is also SQL Server 2016.
If you are running your distribution database on your 2012 publisher, the configuration will fail when you add the subscriber because a subscriber is at a higher version than the distributor. You would need to either run a dedicated distributor (recommended) or use your 2016 subscriber as the distributor server.
The error message you posted is deceptive because it's not a subscriber/publisher version issue, but rather a subscriber/distributor version issue.

Related

MSSQL Transactional Replication different versions

we are currently using a 2008R2 publisher/distributor for replication.
The subscribers are versions 2008R2 and 2012.
Next week, we would like to update our servers step by step.
I read in the docs, that the subscriber must be within 2 versions of the publisher.
Does this mean, i could upgrade the publisher/distributor to 2014 and use subscribers with versions 2008R2, 2012 and 2017 simultaneously? (we plan to upgrade the subscribers to SQL-server 2017)
For SQL Server 2014 publisher you can have subscribers of SQL Server 2017
SQL Server 2016,SQL Server 2014,SQL Server 2012,SQL Server 2008 R2,SQL Server 2008
So it is possible.
Matix will give you a sound idea.
https://learn.microsoft.com/en-us/sql/relational-databases/replication/replication-backward-compatibility?view=sql-server-ver15

Is there any problem if i have upgrade SSRS from 2014 to 2016 and the databases are still on SQL Server 2014?

Is there any problem if I have upgrade SSRS (hosted on server1) from 2014 to 2016 and its databases (which are on another server server2) are still on SQL Server 2014?
You can use any supported version of SQL Server to host the databases.
From the docs:
Database server version requirements
SQL Server is used to host the report server databases. The SQL Server
Database Engine instance can be local or remote. The following
supported versions of SQL Server Database Engine can host the report
server databases:
SQL Server 2016 (13.x)
SQL Server 2014 (12.x)
SQL Server 2012 (11.x)
SQL Server 2008 R2
SQL Server 2008
Create a report server database

Upgrade to SQL Server 2016 from SQL Server 2012

I have a SQL Server 2012 evaluation in my lab, its license has just expired. I would like to know the possibilities of upgrading to SQL Server 2016.
Can I still upgrade to 2016 and get a 180 days free license with it? Or should I back up the database and restore it to a fresh install of SQL Server 2016?

Migrate SQL Server 2008 databases to 2016

We are processing to migrate SQL Server databases from 2008 to 2016.
We are searching now for expired function or utilities used in SQL Server 2008 and not available in SQL Server 2016 before migration.
Do you have reference for that?
Here are few features removed in SQL Server 2016 (from MSDN):
SQL Server 2016 is a 64-bit application. 32-bit installation is discontinued, though some elements run as 32-bit components
Compatibility level 90 is discontinued. For more information, see ALTER DATABASE Compatibility Level (Transact-SQL).
Though you are migrating from SQL Server 2008 directly to SQL Server 2016, you need to consider the removed features of SQL Server 2012 & SQL Server 2014 as well
Discontinued Database Engine Functionality in SQL Server 2014
Discontinued Database Engine Functionality in SQL Server 2012

Team foundation server, SQL Server Management Studio

We restored our TFS 2013 database backups on separate data tier with SQL Server 2012. Now I am trying to add these databases to TFS server (it's a sandpit tier), where I have a SQL Server 2008 R2 version. While running app tier wizard, I added SQL instance but it is throwing an error:
TF400860: the current version of following service is not supported registry Version 5, min version 5
Both servers have same version of TFS (TFS 2013.5)
Can anyone advise how to fix this?
The minimum SQL version for 2013 is SQL 2012 with SP1 https://www.visualstudio.com/en-us/docs/setup-admin/requirements
The minimum SQL server requirement for TFS 2013 is SQL server 2008 R2 (SP1).
The solution for this error is, we need to change the SQL server instance availability group as primary by logging in to same server
We have 4 data tiers, which are in sync, I tried it and I got it with SQL version 2008 R2. No need of SQL version 2012 or higher.
Thanks

Resources