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

Откуда:
Сообщений: 639
Исходные данные:

1. Сервер-паблишер реплицирует данные на два подписчика
2. Репликация - snapshot
3. Расписание настроено визардом (каждый день в опредленный час) во время создания самой репликации.

Надо сделать так (задача):

1. Сервер-паблишер реплицирует данные на два подписчика
2. Репликация - snapshot
3. Запуск репликации в SSIS-пакете после определнного шага этого же пакета.
4. Отловить окончание репликации по каждому из двух подписчиков.


Вопрос:
Как реализовать пункты 3 и 4 задачи?
31 окт 11, 11:54    [11525283]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
ВАЖНОЕ УТОЧНЕНИЕ:

указанный сервер-паблишер имеет еще много других заданий репликации, которые должны остаться без изменений.
надо запускать и отслеживать ТОЛЬКО ОДНО конкретное задание репликации.
31 окт 11, 11:57    [11525316]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Репликация запускается джобом. Вставте в Ваш пакет шаг 'Execute SQL Server Agent Job Task' для этого джоба в нужном месте. А чтобы отследить окончание джоба, можно добавить последний шаг в котором можете прописать удобный для Вас сигнал - либо через таблицу, либо через алерт, либо через Service Broker и т.д.
31 окт 11, 12:22    [11525540]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
Jovanny,

а вы случаем не подскажете который из кучи джобов надо запускать (приблизительно как должно выглядить имя нужного джоба)?
визард создает вагоно джобов для одной репликации...
31 окт 11, 12:38    [11525668]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
RegisteredUser,

В опубликованной БД таблица syssubscriptions, столбец distribution_jobid.
31 окт 11, 12:57    [11525830]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
Там правило примерно такое: <Имя сервера издателя>-<имя БД издателя>-<имя подписки>-<имя сервера-подписчика>-<целое число>. Джоб должен относиться к категории 'REPL-Distribution'.
У меня издатель и распространитель на одной машине. Для других конфигураций не пробовал.
31 окт 11, 13:03    [11525876]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
Jovanny
Там правило примерно такое: <Имя сервера издателя>-<имя БД издателя>-<имя подписки>-<имя сервера-подписчика>-<целое число>. Джоб должен относиться к категории 'REPL-Distribution'.
У меня издатель и распространитель на одной машине. Для других конфигураций не пробовал.


а как же с обновлением самого снэпшота?
если я запущу только джоб дистибуции, то сам снэпшот не будт актуальным.
31 окт 11, 22:14    [11529721]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
RegisteredUser,

В опубликованной БД таблица syspublications, столбец snapshot_jobid.
31 окт 11, 22:42    [11529800]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
invm
RegisteredUser,

В опубликованной БД таблица syspublications, столбец snapshot_jobid.


select distribution_jobid from syspublications
Result: Invalid column name 'distribution_jobid'.

select snapshot_jobid from syspublications
Result: 0xB616535FA09DC14C80E7D4237781C365

Как мне использовать эту информацию?
31 окт 11, 22:58    [11529843]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
1.
select distribution_jobid from syssubscriptions
2. См. sp_start_job (Transact-SQL), параметр @job_id
1 ноя 11, 00:26    [11530064]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
вот пока что у меня получилось:

1. Создал тестовую БД с одной таблицей на 22 млн. записей на паблишере
2. Создал тестовую БД на сабскрайбере
3. Визардом создал спэншот репликацию с шедулером
4. Дождался когда репликация сама стартанет и закончится. Проверил... все гуд!
5. В двух созданных визардом джобах перенастроил шедулер "на вчера" (чтобы джобы никогда не сработали сами)
6. Очистил таблицу сабскрайбера

Вот теперь начинатеся самое интересное.
Сначала немного текста по теме.
Визард создает, в моем случае, 2 джоба:
джоб 1: ServPublisher-DBReplica-snapDBreplica-29 (в окне Jobs имеет постоянный статус "Not running" )
джоб 2: ServPublisher-DBReplica-snapDBreplica-ServSubscriber-93 (в окне Jobs имеет постоянный статус "Executing" )
Теперь продолжаю:

7. для того чтобы руками запустить репликации надо было сделать так:
exec sp_start_job @job_name = 'ServPublisher-DBReplica-snapDBreplica-29', @server_name = 'ServSubscriber'
(при этом формируется новый снэпшот и потом реплицируются данные на сабскрайбер)

Казалось бы вот оно счастье.... НО
- время создание снэпшота - хз
- время заливки данных на сабскрайбер - хз
- момент полного окончания репликации на конкретном сабскрайбере - хз
это всё видно только в Replication Monitor, а мне надо это отследить как-то программно (меня даже цикл в принципе устроит)

Прошу помощи по всем пунктам "ХЗ"
1 ноя 11, 12:20    [11531701]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А для ради любопытства в сами джобы не пробовали заглянуть?
1 ноя 11, 12:23    [11531728]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
tpg
А для ради любопытства в сами джобы не пробовали заглянуть?

глянул!
даже проскочила шальныя мысля вставить еще один шаг (процедуру которая бы что-то в таблицу писала),
НО
мы ведь в III-ем тысячилетии живемдолжна же быть какая-то стандартная схема получения данных о процессе репликации.

ведь Replication Monitor откуда-то знает что происходит с репликацией - я тоже хочу быть как Replication Monitor,
а то всякие дедовские приблуды ужо поднадоели...
1 ноя 11, 12:41    [11531947]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104751
RegisteredUser
мы ведь в III-ем тысячилетии живемдолжна же быть какая-то стандартная схема получения данных о процессе репликации.

Уже во втором тысячилетии люди использовали мануалы продукта
Например, статьи хелпа вроде Monitoring a Replication Topology (Replication Transact-SQL Programming) или Monitoring a Replication Topology (RMO Programming)
1 ноя 11, 12:48    [11532010]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
группа процедур sp_replmonitor*
1 ноя 11, 12:50    [11532031]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
invm
группа процедур sp_replmonitor*

спасибо - покурю в этом направлении!

автор
Например, статьи хелпа вроде Monitoring a Replication Topology (Replication Transact-SQL Programming) или Monitoring a Replication Topology (RMO Programming)

видел! не канает - слишком муторно!
нужен простой подход без гимора!
1 ноя 11, 12:53    [11532058]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104751
RegisteredUser
видел! не канает - слишком муторно!
нужен простой подход без гимора!

одна кнопка "Сделать правильно" ?
1 ноя 11, 12:54    [11532064]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
ОШИБКУ ЗАМЕТИЛ:

RegisteredUser

7. для того чтобы руками запустить репликации надо было сделать так:
exec sp_start_job @job_name = 'ServPublisher-DBReplica-snapDBreplica-29', @server_name = 'ServSubscriber'
(при этом формируется новый снэпшот и потом реплицируются данные на сабскрайбер)


exec sp_start_job @job_name = 'ServPublisher-DBReplica-snapDBreplica-29', @server_name = 'ServPublisher'
1 ноя 11, 12:56    [11532083]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
Glory
RegisteredUser
видел! не канает - слишком муторно!
нужен простой подход без гимора!

одна кнопка "Сделать правильно" ?


в разрезе MS SQL Server мечтаю о такой кнопке...
1 ноя 11, 12:57    [11532098]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104751
RegisteredUser
в разрезе MS SQL Server мечтаю о такой кнопке...

Ну тогда пользуйтесь ReplicationMonitor-ом
Зачем писать, что "я тоже хочу быть как Replication Monitor", но не иметь желания разбираться, как работает этот самый ReplicationMonitor ?
1 ноя 11, 12:59    [11532123]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
всем спасибо за помощь!
холивар и оффтоп оставим на потом, когда будет настроение!
1 ноя 11, 13:02    [11532171]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
Glory
Member

Откуда:
Сообщений: 104751
Мечты об одной кнопке у вас похоже навязчивые
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=810223&msg=9869591
1 ноя 11, 13:05    [11532196]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
Glory
Мечты об одной кнопке у вас похоже навязчивые
https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=810223&msg=9869591

Спасибо, что напомнили об этой миссаге...
Это лишнее доказательство того, что ДАААВНО пора вводить такую кнопку в MS SQLS...
Потому как раз в год точно возникают вопросы к репликации, а мы все в SP допотопных как в сору роемся... логи анализируем...
1 ноя 11, 13:49    [11532733]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
RegisteredUser
...а мы все в SP допотопных как в сору роемся... логи анализируем...
Отчего ж в допотопных то? Что ни на есть центровых, нужных, современных и, главное, работающих.
1 ноя 11, 13:52    [11532758]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2008 и управление репликацией внутри SSIS  [new]
RegisteredUser
Member

Откуда:
Сообщений: 639
всем спасибо!
1 ноя 11, 14:12    [11532960]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить