Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация транзакций: трансформируемая подписка - что это такое? / 11 сообщений из 11, страница 1 из 1
13.11.2002, 12:09:31
    #32067361
Long
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Прочитал статью такую: http://www.sql.ru/articles/mssql/02032701FilteringPublishedData.shtml#4 . Так и не понял, как можно сделать горизонтальный фильтр при использовании репликации транзакций, чтобы каждому подписчику публикации отдавались только его данные.
У меня есть в таблице колонка, которая однозначно определяет подписчика. Для каждого подписчика делаю отдельную публикацию и в ней делаю статический фильтр на конкретное значение, типа:
Код: plaintext
SELECT <published_columns> FROM <<TABLE>> WHERE target='002'
Можно ли обойтись одной публикацией для всех подписчиков? Какие плюсы-минусы могут быть у такого решения?
...
Рейтинг: 0 / 0
13.11.2002, 12:28:25
    #32067376
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Одной публикацией обойтись можно, а плюсы очевидны
Повышение производительности репликации транзакций
...
Рейтинг: 0 / 0
13.11.2002, 12:41:08
    #32067385
Long
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Так как можно обойтись одной публикацией?
...
Рейтинг: 0 / 0
13.11.2002, 21:11:55
    #32067712
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Сформулируйте лучше свой вопрос, а также опишите, почему у Вас не получается применить фильтр для того, что бы обойтись одной публикацией?
...
Рейтинг: 0 / 0
14.11.2002, 14:16:15
    #32067927
Long
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Попытаюсь:
Что мне надо написать в условии фильтра, чтобы для каждого подписчика публикации отдавалась только его часть данных?
Типа:
для S-SERVER1 (имя сервера-подписчика) target='001'
для S-SERVER2 (имя сервера-подписчика) target='001'
и т.д.
...
Рейтинг: 0 / 0
14.11.2002, 14:30:27
    #32067938
Long
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Пардон, вкралась очепятка:
для S-SERVER1 (имя сервера-подписчика) target='001'
для S-SERVER2 (имя сервера-подписчика) target='002'
...
Рейтинг: 0 / 0
14.11.2002, 14:48:07
    #32067954
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?

Что мне надо написать в условии фильтра, чтобы для каждого подписчика публикации отдавалась только его часть данных?


Dynamic Filters
Dynamic filters allow you to create a merge publication and then filter data from the publishing table providing different partitions of data to different Subscribers. Benefits of using dynamic filters in merge publications are:

Fewer publications stored at the Publisher. This reduces the overhead of administering multiple publications.


Employing user-defined functions in the dynamic filter enables you to filter criteria.


The Subscriber receives only the information needed because data is filtered based onthe connection properties of the Merge Agent for the subscription.
In the dynamic filter, you specify a Microsoft® SQL Server™ 2000 function or a user-defined function that is evaluated differently for each Subscriber based on the connection properties of the Merge Agent when the merge process is replicating data between the Subscriber and Publisher. The most common system functions used for this purpose are SUSER_SNAME() and HOST_NAME(). You can use a user-defined function in a dynamic filter, but unless the user-defined function definition includes SUSER_SNAME(), HOST_NAME(), or the user-defined function evaluates one of these system functions in the filter criteria (such as MyUDF(SUSER_SNAME()), the user-defined function will be static.

Dynamic filters are row filters (restricting rows of data) and are created on a single table basis (they do not cross or join tables). You can, however, use both dynamic filters and join filters in the same publication and on the same published tables.

Dynamic filters are available only with merge replication, so when using them, you should consider employing a dynamic snapshot as well. By default, dynamic filtered publications rely on INSERTs from the Publisher to apply data to the Subscriber as part of the initial snapshot. Dynamic snapshots provide the performance advantage of using SQL bulk copy program (bcp) files to apply data to a specific Subscriber when applying the initial snapshot while using dynamic filters. For more information, see Dynamic Snapshots.

If you are using snapshot replication or transactional replication, you can create custom filters using transformable subscriptions, which will filter data based on individual Subscriber requirements. For more information, see Transforming Published Data.

Example
...
Рейтинг: 0 / 0
14.11.2002, 14:51:09
    #32067955
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Сорри, это для Merge репликации.
...
Рейтинг: 0 / 0
14.11.2002, 15:07:54
    #32067965
Long
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
2(Genady): Спасибо! В последнем абзаце твоей цитаты:
If you are using snapshot replication or transactional replication, you can create custom filters using transformable subscriptions, which will filter data based on individual Subscriber requirements. For more information, see Transforming Published Data.
:-))))
Куда смотреть понятно, правда ещё не совсем врубился, но буду пробовать.
...
Рейтинг: 0 / 0
14.11.2002, 15:36:31
    #32067987
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
2 Long
Самое смешное это то, что в приведенной Вами ссылке перевод статьи из BOL которую я Вам скопировал.
Да уж, погоже что для программера родной язык английский.

2 Александр Гладченко
Саша, ты не с того языка переводишь, надо с русского на английский и рассылку соответственно тоже.
...
Рейтинг: 0 / 0
14.11.2002, 21:32:28
    #32068138
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Репликация транзакций: трансформируемая подписка - что это такое?
Ген, это ты про это:
Динамические фильтры
Трансформируемая подписка, я так понимаю, это которая фильтрами трансформируется.
Правда, есть ещё одно подозрение на [-UseDTS ], но до него у меня ещё руки не дошли...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация транзакций: трансформируемая подписка - что это такое? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]