SQL SERVER 2016 - Distribution Server compatibility - sql

Can you create an SQL SERVER 2016 distributer that merges data between a 2008 R2 server to another 2008 R2 server?

Yes.
This is covered in Using Multiple Versions of SQL Server in a Replication Topology:
For all types of replication, the Distributor version must be no
earlier than the Publisher version. (Frequently, the Distributor is
the same instance as the Publisher.)
Since your Distributor version is a later version than your Publisher version, you are good here.

Related

SQL Server 2017 Replication - Subscriber/Publisher Version Compatibility

Is it possible to have a SQL Server 2017 subscriber to a SQL Server 2012 publication (distributor running SQL Server 2016) ?
Thanks
The short answer is no. Documented here.
Subscriber version depends on the type of publication:
A Subscriber to a transactional publication can be any version within two versions of the Publisher version. For example: a SQL
Server 2012 Publisher can have SQL Server 2014 and SQL Server 2016
Subscribers; and a SQL Server 2016 Publisher can have SQL Server 2014
and SQL Server 2012 Subscribers.
A Subscriber to a merge publication can be any version less than or equal to the Publisher version.

Can I replicate from SQL Server 2012 Express to SQL Server 2012 Express somehow?

I am thinking this may not be possible as standard, but can I publish replication using SQL Server 2012 Express and subscribe with SQL Server 2012 Express? I am wanting to create a fail over between 2x VM's in an Zure Availability set.
Thanks!
No. SQL Server Express cannot serve as a Distributor or Publisher. SQL Server Express can only serve as a Subscriber to Transactional, Snapshot, and Merge publications. You will need an instance of at least Standard Edition or higher to create a publication.
Replication Considerations (SQL Server Express)
SQL Server Express cannot serve as a Publisher or Distributor.

Can you replicate from SQL Server 2012 to 2008 R2

Quick question: can you replicate a database from SQL Server 2012 to 2008 R2?
We currently have a push transactional replication setup from a SQL Server 2008 R2 database (publisher) to another 2008 R2 (subscriber). The publisher is controlled by a partner organisation that we work closely with, but we have little control over their infrastructure (other than the replication).
Our partner is upgrading their infrastructure to SQL Server 2012 - and as such we need to know if we will be forced to upgrade all or part of our solution to 2012 to follow suit.
Do we need to upgrade our subscriber SQL Server to 2012, or can we leave it as 2008 R2 and somehow configure it to subscribe to a 2012 replication?
Any information and/or references would be appreciated. We're in the process of coming up with a migration plan.
You can keep your 2008R2 subscriber, as long as the distributor and the publisher are one and the same instance (and it seems that they are, since you're running a push trans replication). Quote from here:
A Subscriber to a transactional publication can be any version within two versions of the Publisher version. For example: a SQL Server 2005 Publisher can have Subscribers running SQL Server 2005, SQL Server 2008 (including SQL Server 2008 R2), or SQL Server 2012; and a SQL Server 2012 Publisher can have Subscribers running SQL Server 2005, SQL Server 2008 (including SQL Server 2008 R2), or SQL Server 2012.
Probably you will have to reinitialize your subscription once the publisher upgrade is done. it would be preferable to not use any 2012 specific features or even to run the publisher database in 2008 compatibility mode.
2 versions back SQL replication:
8.0 for SQL Server 2000.
9.0 for SQL Server 2005.
10.0 for SQL Server 2008.
10.5 for SQL Server 2008 R2.
11.0 for SQL Server 2012.
12.0 for SQL Server 2014.
13.0 for SQL Server 2016

Merge replication between sql server 2008 and 2000

Good day guys, I have one issue I'm trying to organise Merge replication between two servers 2000 and 2008. I tried two variants:
First: I made publication at Sql server 2000 and when I tried to made subscription at 2008 I received following message: "For merge publications, the version of the Subscriber must not exceed the version of the Publisher".
Second one: I made publication at Sql server 2008 and when I tried to made subscription at 2000 I received following message: "to connect this server you must use SQL server Management Studio or SQL Server Management Objects"
So could anyone give me good advice how to solve this issue ?
As stated in Using Multiple Versions of SQL Server in a Replication Topology:
For merge replication, a Subscriber to a merge publication can be any
version no later than the Publisher version.
This means you must make the SQL Server 2008 instance the Publisher and the SQL Server 2000 instance the Subscriber. Use SQL Server 2008 Management Studio to configure the topology.

How can I attach a database?

When I want to attach database, an error occurs:
The database 'Almizan' cannot be opened because it is version 661.
This server supports version 655 and earlier. A downgrade path is not supported.
Could not open new database 'Almizan'. CREATE DATABASE is aborted.
(.Net SqlClient Data Provider)
Help me to attach this database.
Install SQL Server 2008 EXPRESS R2. There is a bug in the Web Platform Installer and it still thinks EXPRESS R1 is the latest version.
SQL Server 2008 databases are version 655. SQL Server 2008 R2 databases are 661. You are trying to attach an 2008 R2 database (v. 661) to an 2008 instance and this is not supported. Once the database has been upgraded to an 2008 R2 version, it cannot be downgraded. You'll have to either upgrade your 2008 SP2 instance to R2, or you have to copy out the data in that database into an 2008 database (eg using the data migration wizard, or something equivalent).
The message is misleading, to say the least, it says 662 because SQL Server 2008 SP2 does support 662 as a database version, this is when 15000 partitions are enabled in the database, see Support for 15000 Partitions.docx. Enabling the support bumps the DB version to 662, disabling it moves it back to 655. But SQL Server 2008 SP2 does not support 661 (the R2 version).
Think you need to upgrade the SQL Server 2008 instance (655) your trying to attach the database in, to SQL Server 2008 R2 (661), the version the database was actually created in.
See SQL Server: Attach incorrect version 661
The this answer on the MSDN seems to tell us the obvious
http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/01ed3b1c-6f29-4518-a3a4-e4e35decc05f/
When you attached the database to SQL Server 2008 to compress it the
database has automatically been upgraded from SQL 2005 to to SQL
Server 2008 from the disk structucture point of view. An internal
upgrade script has been run and has modified the on-disk structure of
the database to that new version. This can be seen at the version 655.
Once this has been done you can no longer attach the upgraded database
to a lower version of SQL Server, it will fail with the error you've
seen.
This has nothing to do with the compatiblity level of the database.
The compatabilty level only prevents the engine from using some of the
new features.
In order to get the database on SQL Server 2005 again you will need to
create the database freshly and export/import the data, for example by
using the Export/Import Wizard.
Ulrike - MSFT