Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Data Capture CDC в MSSQL2008 : как остановить на время не теряя CDC таблиц?

112  
  rimqpp0 знакомое лицо11.07.12 11:27
NEW 11.07.12 11:27 
Привет работающим с MSSQL2008.
Data Capture CDC в MSSQL2008 : как остановить на время CDC не теряя CDC-таблиц?
запущены 2 Jоb's .
первый для Data Capture (exec sys.sp_cdc_add_job 'capture')
второй как Maintetance Plan в котором производится целосттность базы, реорганизация индексов в таблицах и т.д.
Команды в Maintetance Plan типа
ALTER INDEX [PK_Table] ON [dbo].[Table] REBUILD PARTITION = ALL...........
ALTER INDEX [PK_Table] ON [dbo].[Table] REORGANIZE WITH ( LOB_COMPACTION = ON ).....
дают ошибку из за конфликта в первом Job с CDC
Хотелось бы остановить CDC в первом JOB на время пока отрабатывает второй .. типа сделать что то такое:
------------
EXEC sys.sp_cdc_disable_db
GO
exec proc_REbuild_Index ---- процедура с выше приведенными примерами команд
GO
EXEC sys.sp_cdc_enable_db
GO
--------------------------
при етом все системные таблицы построенные с CDC будут удалены..
Есть идея как обойти проблему.. приостатовить CDC без стрирания таблиц чтоб не конфликтовала с Maintenance Plan, и потом запустить снова?
#1 
Nickolaychuk прохожий14.07.12 00:06
14.07.12 00:06 
в ответ rimqpp0 11.07.12 11:27
А sp_cdc_stop_job / sp_cdc_start_job не работает?
#2 
  rimqpp0 знакомое лицо14.07.12 17:08
NEW 14.07.12 17:08 
в ответ Nickolaychuk 14.07.12 00:06
пробовал, проблема остается. но решение очень простое есть. ALTER ALL INDEX вместо указния конкретных PK-Key's.
Я привел ссылку на sql.ru ..правда придется всю авто-реорганизацию переписать в процедурах.. если новая таблица надо добавлять самому.
Для решения заморочек моей немчуры достаточно, не стал больше изыскивать.
#3