powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Репликация транзакций: трансформируемая подписка - что это такое?
11 сообщений из 11, страница 1 из 1
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067361
Long
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прочитал статью такую: http://www.sql.ru/articles/mssql/02032701FilteringPublishedData.shtml#4 . Так и не понял, как можно сделать горизонтальный фильтр при использовании репликации транзакций, чтобы каждому подписчику публикации отдавались только его данные.
У меня есть в таблице колонка, которая однозначно определяет подписчика. Для каждого подписчика делаю отдельную публикацию и в ней делаю статический фильтр на конкретное значение, типа:
Код: plaintext
SELECT <published_columns> FROM <<TABLE>> WHERE target='002'
Можно ли обойтись одной публикацией для всех подписчиков? Какие плюсы-минусы могут быть у такого решения?
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067376
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одной публикацией обойтись можно, а плюсы очевидны
Повышение производительности репликации транзакций
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067385
Long
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как можно обойтись одной публикацией?
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067712
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сформулируйте лучше свой вопрос, а также опишите, почему у Вас не получается применить фильтр для того, что бы обойтись одной публикацией?
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067927
Long
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попытаюсь:
Что мне надо написать в условии фильтра, чтобы для каждого подписчика публикации отдавалась только его часть данных?
Типа:
для S-SERVER1 (имя сервера-подписчика) target='001'
для S-SERVER2 (имя сервера-подписчика) target='001'
и т.д.
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067938
Long
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пардон, вкралась очепятка:
для S-SERVER1 (имя сервера-подписчика) target='001'
для S-SERVER2 (имя сервера-подписчика) target='002'
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #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
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067955
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри, это для Merge репликации.
...
Рейтинг: 0 / 0
Репликация транзакций: трансформируемая подписка - что это такое?
    #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
Репликация транзакций: трансформируемая подписка - что это такое?
    #32067987
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Long
Самое смешное это то, что в приведенной Вами ссылке перевод статьи из BOL которую я Вам скопировал.
Да уж, погоже что для программера родной язык английский.

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


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