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

Откуда:
Сообщений: 11
Настроена merge репликация pull-подписчики. Возникла необходимость добавить в публикацию новую таблицу. Вот как я делал эту процедуру:
1. Удаление всех подписчиков
2. Добавление в публикацию данной таблицы
3. Генерация нового снапшота
4. Закачка снапшота на подписчики
5. Создание подписчиков
Все ок. А можно как-то сделать чтобы не создавать заново снапшот, а то накладно по инету гонять 30Мб в архиве? Раньше когда еще жили на push-подписке вроде не требовалось повторное создание снапшота.
17 авг 04, 15:48    [887849]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
sp_addmergearticle
17 авг 04, 16:01    [887907]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
dic
Member

Откуда:
Сообщений: 11
Что делаю не так, хочу добавить таблицу, без генерации снапшота?
sp_addmergearticle @publication='Northwind',@article = 'NewTable',@source_object = 'NewTable',@type = 'table',@column_tracking = 'true', @status = 'active',@source_owner = 'dbo',
@destination_owner = 'dbo',@auto_identity_range = 'true',@pub_identity_range = 1000,@identity_range = 1000, @threshold = 80,
@force_invalidate_snapshot = 1
Агент вываливается по ошибке, в хистори агента: " You must rerun snapshot because current snapshot files are obsolete."
17 авг 04, 20:36    [888735]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
Sergey_SK
Member

Откуда:
Сообщений: 120
Процедура конечно хорошо но Еnterprise Manager лучше:
находишь публикацию смотришь её свойства, на против новой таблички ставишь галку, потом отрабатывает снапшот агент, потом мерж агент.
Т.е. пункты 1 и 5 из твоего плана можно убрать.
18 авг 04, 06:40    [888949]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
dic
Member

Откуда:
Сообщений: 11
Это понятно, а без генерации снапшота никак нельзя???
18 авг 04, 09:43    [889160]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Не, без пересоздания снапшота никак нельзя. Но ведь пересоздастся он на паблишере, а на подписчиков перешлется merge-агентом только та часть, которая касается новой статьи. Так что жуткого трафика быть не должно.
18 авг 04, 11:33    [889626]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
Adding Articles to a Merge Publication

When you add articles to a merge publication, a reinitialization of existing subscriptions is not required for the new article schema and data to be propagated to Subscribers. When adding an article to a merge publication for which there are active subscriptions, you must run the Snapshot Agent after adding the article before any Subscribers can synchronize. If the publication already has subscriptions, Subscribers will receive the schema and data for the new article based on this snapshot the next time they synchronize. The Merge Agent will then synchronize any data changes for the subscription.

When adding an article to a publication that has active subscriptions, you can filter the article using a subset filter clause without requiring that subscriptions be reinitialized. However, you cannot add any join filter clauses to a publication that has active subscriptions without also reinitializing all subscriptions to the publication.

When adding the article using Publication Properties in SQL Server Enterprise Manager, you will receive a message indicating that subscriptions will be prevented from synchronizing until a new snapshot has been generated for the publication. When you apply the changes, you will be advised to run the Snapshot Agent immediately.

If you are using stored procedures to add articles, you must authorize the addition of the article to a publication by setting @force_invalidate_snapshot=1 in sp_addmergearticle. You should then run the Snapshot Agent for the publication immediately.

Whether you use Publication Properties in SQL Server Enterprise Manager or stored procedures, you can defer running the Snapshot Agent, but you must run it before any existing subscriptions to the changed publication can synchronize and receive the new schema and data.
18 авг 04, 11:38    [889652]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
dic
Member

Откуда:
Сообщений: 11
Ну вот поробывал сделать без 1 и 5 пункта и получил
Error Details:
The schema script '\\TEST\G$\Program Files\Microsoft SQL Server\MSSQL\ReplData\unc\TEST_Trity_Trity\20040818184743\Countries_197.sch' could not be propagated to the subscriber.
(Source: Merge Replication Provider (Agent); Error number: -2147201001)
---------------------------------------------------------------------------------------------------------------
The process could not read file '\\TEST\G$\Program Files\Microsoft SQL Server\MSSQL\ReplData\unc\TEST_Trity_Trity\20040818184743\Countries_197.sch' due to OS error 5.
18 авг 04, 20:06    [892100]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
dic
The process could not read file '\\TEST\G$\Program Files\Microsoft SQL Server\MSSQL\ReplData\unc\TEST_Trity_Trity\20040818184743\Countries_197.sch' due to OS error 5.


А какие пути к схеме были в соседних строках протокола этого сеанса?
19 авг 04, 11:30    [893131]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
поиск по ошибке -2147201001
19 авг 04, 12:31    [893497]     Ответить | Цитировать Сообщить модератору
 Re: Как добавить новую таблицу в публикацию(merge-репликация).  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10752
Блог
Error number: -2147201001 это уже следствие, а причина в OS error 5
Тут больше на это похоже: http://searchdatabase.techtarget.com/ateQuestionNResponse/0,289625,sid13_cid595482_tax285648,00.html
19 авг 04, 13:20    [893770]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить