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

Откуда: Saint-Petersburg
Сообщений: 55
Ситуация:
Есть БД, настроена merge репликация.
Попытки изменить структуру таблиц БД (из EM) вызывают ошибку:

- Unable to modify table.
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot drop the table 'dbo.carsplan' because it is published for replication.


Так вот вопрос (наверное чайниковский, но всё же) :
Можно ли менять структуру реплицируемой БД и если можно, то как?
26 май 03, 16:11    [210178]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
Наблюдатель
Guest
К сожалению, изменять структуру таблицу нельзя, если она включена в публикацию (см. документацию).
И решение только одно - временное удаление из публикации...
26 май 03, 16:25    [210206]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Вернее, можно только добавлять колонки. Правда, далее их можно будет включить в публикацию.
26 май 03, 16:28    [210208]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
cvasil
Member

Откуда:
Сообщений: 519
Уточните что конкретно должно быть изменено в структуре таблицы?
26 май 03, 16:34    [210220]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
Tac_Evaworcim
Member

Откуда: Saint-Petersburg
Сообщений: 55
Ага... Т.е. если приложение клиента к БД находится в разработке (что иногда приводит к необходимости изменять структуру базы), и база реплицируется, возникает дикий геморрой...
Ладно, как его обойти оптимально?

Предположительно:
1) Исключить модифицированную таблицу из публикации.
2) Модифицировать её на издателе и на подписчиках.
3) Снова включить её в публикацию.
- вроде всё не так уж сложно...

Где тут могут возникнуть проблемы?
(возможный вариант проблемы: снимок изменений в таблице уже сделан, но не применён -> модифицируем таблицу -> снимок примениться не может)

P.S.: в структуре таблицы может меняться всё что угодно: тип данных (точность), новые колонки, удаление колонок, создание новых связей, да всё что угодно вплоть до полной реорганизации (но тогда проще заново репликацию настроить.. ;)
26 май 03, 16:43    [210239]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
cvasil
Member

Откуда:
Сообщений: 519
Исключить модифицированную таблицу из публикации.
Для того чтобы исключить таблицу из мерж публикации нужно сначала удалить все
подписки на эту публикацию. Но некоторые изменения (вроде добавления/удаления
колонок) можно делать на лету, правда тоже не всегда.
26 май 03, 16:55    [210267]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
Tac_Evaworcim
Member

Откуда: Saint-Petersburg
Сообщений: 55
Угу, т.е. :

1) Удалить все подписки на публикацию
2) Исключить модифицированную таблицу из публикации.
3) Модифицировать её на издателе и на подписчиках.
4) Снова включить её в публикацию.
5) Снова создать подписки.


Вопросы по поводу того, как это оптимально делать и по поводу возможных трудностей/ошибок остаётся открытым.

Вопрос номер два (скорее риторический, т.е. на всякий случай ;) :
Если в промежутке между удалением/воссозданием публикации данные в таблицах модифицировались, слияние пройдёт нормально? ;)
26 май 03, 17:03    [210280]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
Дмитрий Рождественский
Member

Откуда:
Сообщений: 150
В пропертях публикации есть закладка, которая позволяет добавлять/удалять поля в реплицитируемой таблице. Без дропания публикации, естественно.
27 май 03, 16:00    [211554]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
Белов Владимир
Member

Откуда: Москва
Сообщений: 1716
>Дмитрий Рождественский
Мне кажется Вы путаете добавление/удаление столбцов из статьи
27 май 03, 16:04    [211567]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
andmar
Member

Откуда: Томск
Сообщений: 86
Нет. Все верно. У меня мерж репликация. И я спокойно добавляю/удаляю столбцы в таблицах (занимает некоторое время). При этом даже не происходит переинициализация подписчиков.
см. sp_repladdcolumn, sp_repldropcolumn
28 май 03, 07:27    [212211]     Ответить | Цитировать Сообщить модератору
 Re: Модификация реплицируемой таблицы  [new]
Дмитрий Рождественский
Member

Откуда:
Сообщений: 150
Чтобы окончательно исключить непонимание, добавлю, что эта замечательная функция появилась только в 2000.
28 май 03, 10:13    [212340]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить