ИЗМЕНИТЬ реплицированный столбец в SQL Server 2008 R2.Слияние репликации - PullRequest
2 голосов
/ 15 марта 2012

Я хочу изменить столбцы в StudentPerformance таблице

Столбцы, которые нужно изменить, -

StudentName varchar(50) to StudentName varchar(100)
Percentage decimal(18,0) to Percentage decimal(18,2)

Настроен для репликации слиянием.

  • Это сделает мой текущий снимок устаревшим?
  • Придется ли мне заново инициализировать все подписки?
  • Обновит ли он все записи в таблице и увеличит трафик при репликации при запускеоператор alter?

1 Ответ

5 голосов
/ 15 марта 2012

Это необходимо сделать с помощью синтаксиса ALTER TABLE ALTER COLUMN на издателе. По умолчанию изменения схемы будут распространяться при следующей синхронизации, для свойства публикации @ replicate_ddl должно быть установлено значение true. В большинстве случаев новый снимок или повторная инициализация не требуются.

Например, я могу изменить свой столбец SalesLT.Customer Title с nvarchar (8) null на nvarchar (10) null, выполнив в базе данных публикации:

ALTER TABLE SalesLT.Customer ALTER COLUMN Title NVARCHAR(10) NULL 

В большинстве случаев изменение схемы будет повторяться при следующей синхронизации, есть некоторые исключения, которые описаны в Внесение изменений в схемы в базах данных публикации .

...