HiveBrain v1.2.0
Get Started
← Back to all entries
patternsqlMinor

SQL Server Replication: "ALTER TABLE ALTER COLUMN" is not propagated to subscribers

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
columnsqlpropagatedsubscribersreplicationserveraltertablenot

Problem

We are running SQL Server 2008 R2 SP1 as publisher & distributor, and SQL Server 2005 SP3 as subscriber. The replication of schema changes is activated, and the replication has been running for years, including frequent schema changes (new column, new constraints, etc).

The following instruction was sent on the publisher:

use myDatabase
alter table Tbl_TypeLignePaye
      alter column natureTypeLignePaye nvarchar(12)
go


where field natureTypeLignePaye was originally nvarchar(3) null

The query ran without errors on the main database. The result is the following:

  • The field natureTypeLignePaye still appears as nvarchar(3) in the object browser



  • The column properties screen indicates a nvarchar type with a length of 12



  • The change was not propagated to the subscribers



Any idea on what is going on with this database?

Publisher: object browser window vs property window give incoherent data

Solution

If anyone wants to increase the column width of the replicated table in SQL Server 2008, then no need to change the property of replicate_ddl=1. Simply follow the steps as given.

  • Open SSMS



  • Connect to Publisher database



-
run command

ALTER TABLE [Table_Name] ALTER COLUMN [Column_Name] varchar(22)


  • It will increase the column width from varchar(x) to varchar(22) and same change you can see on subscriber (transaction got replicated). So no need to re-initialize the replication



Hope this will help all who are looking for it.

Code Snippets

ALTER TABLE [Table_Name] ALTER COLUMN [Column_Name] varchar(22)

Context

StackExchange Database Administrators Q#40660, answer score: 4

Revisions (0)

No revisions yet.