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

Откуда: из России
Сообщений: 901
Можно ли настроить репликацию транзакций или другую, либо что-то подобное, но не на все команды?
Для чего: есть БД А и БД Б, из А необходимо копировать данные в Б для архива, в А старые записи удалять, вот необходимо , что бы команда удаления не проходила в репликации.
Кстати на мерже репликаци такое можно организовать?
MS SQL2008 R2
3 июн 11, 15:25    [10759691]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
Crimean
Member

Откуда:
Сообщений: 13147
на транзакционной можно
3 июн 11, 15:53    [10759929]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Самый простой выход -- в БД Б на нужной таблице сделать пустой триггер instead of delete.
3 июн 11, 15:55    [10759961]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
invm,

на команды репликации он будет срабатывать?

To Cremean,
на траназакционной, это каким образом вы имели ввиду?
3 июн 11, 16:08    [10760106]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
Crimean,

иммеется ввиду поставить в свойстве публикации не выполнять репликацию команд delete?
3 июн 11, 16:25    [10760318]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
Crimean
Member

Откуда:
Сообщений: 13147
море вариантов. начальный перенос данных вообще не вызывает вопросов. а дальше зависит от того как вы можете организовать удаление. если хранимкой - вообще элементарно. настраиваем реплицировать вызов хранимки, а не результаты ее работы и на подписчике ставим пустую заглушку. сложнее - настраиваем как минимум DELETE реплицировать вызовами хранимок и в них ставим условие. ну или после снапшота ставим фильтр по дате - старые команды просто не будут попадать под него. вроде так
3 июн 11, 16:29    [10760372]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
invm
Member

Откуда: Москва
Сообщений: 9838
Crimean
море вариантов. начальный перенос данных вообще не вызывает вопросов. а дальше зависит от того как вы можете организовать удаление. если хранимкой - вообще элементарно. настраиваем реплицировать вызов хранимки, а не результаты ее работы и на подписчике ставим пустую заглушку. сложнее - настраиваем как минимум DELETE реплицировать вызовами хранимок и в них ставим условие. ну или после снапшота ставим фильтр по дате - старые команды просто не будут попадать под него. вроде так

ЕМНИП, установка фильтра потребует переинициализации подписки...
3 июн 11, 16:34    [10760413]     Ответить | Цитировать Сообщить модератору
 Re: "Репликация" не для всех команд  [new]
Crimean
Member

Откуда:
Сообщений: 13147
фильтр реализуется хранимкой по идее. ну и на крайний случай всегда можно переподписать подписчика, сказав что не нужен снапшот
3 июн 11, 16:39    [10760470]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить