FIX: Error 2812 and 20028 occur when you drop publisher or enable database for publication after you upgrade your SQL Server 2016 and 2017

Applies to: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core More

Symptoms


Consider the following scenario:

  • You use Transactional Replication publication environment in the following SQL Server versions:
    • Version before Cumulative Update 3 (CU3) for SQL Server 2016 Service Pack 2 (SP2)
    • Version before Cumulative Update 6 (CU6) for SQL Server 2017
  • You configure this server as a distributor and create a distribution database.
  • You add this server or another server as a publisher to this distributor server, but don't create publication.
  • Later, you upgrade SQL Server to Cumulative Update 3 for SQL Server 2016 SP2 or later versions, or you upgrade SQL Server to Cumulative Update 6 for SQL Server 2017 or later versions.

In this scenario, when you remove publisher server from distributor, you may receive error messages that resemble the following:

Msg 2812, Level 16, State 62, Procedure sp_dropdistpublisher, Line LineNumber

Could not find stored procedure.

When you enable database for publication, you may receive error messages that resemble the following:

Msg 20028, Level 16, State 1, Procedure ProcedureName, Line LineNumber

The Distributor has not been installed correctly. Could not enable database for publishing.

The replication option 'publish' of database 'DatabaseName' has been set to false.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. 

Resolution


This issue is fixed in the following cumulative updates for SQL Server:

About cumulative updates for SQL Server:

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

References


Learn about the terminology that Microsoft uses to describe software updates.