1

I was working on a merge replication on SQL SERVER 2012. I have one central server with the publication and distribution configured on the same machine.I have another three machines with SQL SERVER 2012 as subscribers. The replication is working fine, however I run in to the following error on all the subscribers

The schema script

if exists (select * from syscolumns where name = N'TransporterID' and id = object_id(N'[dbo].[Transporter]')) if object_id(N'[dbo].[Transporter]') is not null exec('ALTER TABLE [dbo].[Transporter] DROP COLUMN TransporterID')' could not be propagated to the subscriber.

Thanks

Mahesh
  • 8,694
  • 2
  • 32
  • 53
mox-du
  • 107
  • 9

1 Answers1

0

This appears to be a failed schema change. You can either reinitialize the subscriptions or skip the schema change. If reinitialization is not an option, then you can skip the schema change like so.

You can locate the schema change you would like to skip in the table sysmergeschemachange. Another way to locate the schema change is to execute sp_enumeratependingschemachanges:

EXEC sp_enumeratependingschemachanges 
    @publication = 'MyPublicationName'

Get the schemaversion from the result set and then skip the schema change by executing sp_markpendingschemachange. For example, if the schemaversion is 22:

EXEC sp_markpendingschemachange 
    @publication = 'MyPublicationName',
    @schemaversion = 22
    @status = 'skipped'
Brandon Williams
  • 3,695
  • 16
  • 19