3

I am replicating a SQL 2008 R2 database to a SQL 2016 database.

When I connect to the SQL 2016 database using SSMS, and in Object Explorer select Replication->Local Subscription->MySubscription then right click and select Properties I get the error "Cannot apply value ‘null’ to property ServerInstance: Value cannot be null.".

What does it mean and how can I fix it? I am logged in using my Windows domain user which is a sysadmin on both systems.

TheGameiswar
  • 27,855
  • 8
  • 56
  • 94
andyabel
  • 335
  • 4
  • 15

6 Answers6

2

Starting SQL 2016, change has been introduced to support memory-optimized subscribers for Tran Replication. This bug in SSMS is a regression from that change.

In the subscription properties form, a new entry has been added to show whether it is memory-optimized subscription or not. This information is fetched from Distributor server.

So, for a push subscription, if the subscriber is SQL 2016 or above, if you try to look at the subscription properties from the subscriber server, the distributor server is returned as NULL since it can not access/connect to distributor server. This is the reason why you get this error.

Until this is fixed, you can view the subscription properties from the publisher side.

Madhan Kumar
  • 121
  • 7
  • Hi @Madhan, are you able to provide a link to any documentation about this bug? Thanks :) – Mike Jul 27 '17 at 03:03
  • Although there is no official documentation from Microsoft confirming this, we recently figured out this bug while testing SSMS for another improvement. – Madhan Kumar Aug 08 '17 at 17:49
0

I just had the same issue, my replication publisher and distributor is on SQL Server 2014 and my subscriber is SQL Server 2016. When I tried using SSMS 2016 I had the same issue but when I use SSMS 2014 everything worked fine, so this is very likely to be because of the version of SSMS. Try using the SSMS Version that the publisher(source) is using.

Victor Barajas
  • 193
  • 1
  • 9
0

I have had this issue when all servers were on the same version of SQL. I read somewhere that Replication won't work if there are more than three versions of SQL between the distributor and publisher (and subscriber depending on the type of replication), but I worked around this by using a lower compatibility level for the databases.

In my current setup everything is SQL 2016. I had this same issue and fixed it by creating a linked server for the distributor and publisher on the subscriber. These should be creating during set-up so I'm not sure why they weren't.

From the distributor I scripted the linked server repl_distributor and also the linked server for the publisher and then ran these scripts on the subscriber. This then fixed the issue.

I hope this works for you too (although your question was ages ago so you're probably alright now!).

JYatesDBA
  • 25
  • 1
  • 10
0

Check the linked server "Server Options" Tab. Here you speicify distributor, Publisher and Subscriber. Ensure these are set to true where appropriate for the setup you have. If these options are all set to false as was the case for me using all SQL 2016 you can get this error as it fails to connect to the distributor.

0

According to the change log for SSMS 17.4 (released 14th December 2017), this error has now been fixed for PULL subscriptions.

Mike
  • 1,686
  • 19
  • 14
-1

From This Connect item,Workaround seems to be..

1.Add the user as local admin on windows box
2.Run SSMS as admin..

TheGameiswar
  • 27,855
  • 8
  • 56
  • 94