Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Добавление столбца в таблицу под репликацией  [new]
Дмитрий Александров
Member

Откуда: Жуковский, МО
Сообщений: 37
Репликация транзакцией собирает данные из удаленных филиалов на центральный сервер. Требуется добавить столбец в одну из реплицируемых таблиц.
Раньше в таких случаях убивали все подписки, скриптовали публикации, вносили изменения в таблицу на всех серверах и затем заново создавали публикации и подписки.
БОЛ говорит, что этого можно и не делать, но в этом случае придется переинициализировать подписки. А объем данных исчисляется десятками гигов.
Нет ли способа попроще и, главное, побыстрее? Может, как-то ручками?
21 окт 09, 11:38    [7816346]     Ответить | Цитировать Сообщить модератору
 Re: Добавление столбца в таблицу под репликацией  [new]
А.Панков
Member

Откуда: Toronto
Сообщений: 523
Придется ре-инициализовать не все репликации, а только все подписки той публикации, которая содержит вашу таблицу.
Не забудьте в свойствах подписок поднять флажок "do not lock tables".
Конечно, если у вас одна публикация включает вообще все таблицы, тогда инициализация будет тяжелая.
21 окт 09, 18:36    [7820135]     Ответить | Цитировать Сообщить модератору
 Re: Добавление столбца в таблицу под репликацией  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Не указали select @@versio так что.... Посмотрите в сторону sp_repladdcolumn
21 окт 09, 18:38    [7820139]     Ответить | Цитировать Сообщить модератору
 Re: Добавление столбца в таблицу под репликацией  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
* select @@version
21 окт 09, 18:39    [7820144]     Ответить | Цитировать Сообщить модератору
 Re: Добавление столбца в таблицу под репликацией  [new]
Evgen
Member

Откуда: Екатеринбург
Сообщений: 91
Дмитрий Александров,

если версия SQL >= 2005, то при добавлении столбца в таблицу данные физически не идут, идет только команда добавления столбца + служебная информация

если версия SQL = 2000, то при добавлении столбца с помощью repl_addcolumn по реплике пойдут только данные измененной таблицы, а не всей публикации.
21 окт 09, 18:49    [7820170]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить