Как удалить столбцы из CDC (в SQL Server)

Я включил CDC для таблицы, используя приведенный ниже код, и по умолчанию он включает все столбцы. Есть еще один способ включить CDC для таблицы при УКАЗАНИИ столбцов (код приведен ниже). Однако для меня это слишком поздно, учитывая, что мой CDC уже создан и включает ВСЕ столбцы. Как удалить столбцы, которые мне не нужны, из списка наблюдения CDC (я искал везде в метаданных и ничего не нашел):

-- The following enabled the CDC on a table:
EXECUTE sys.sp_cdc_enable_table 
            @source_schema = N'dbo',
            @source_name = N'TableName',
            @role_name = N'cdc_Admin',  
            @supports_net_changes = 1

-- Now all of the columns are included in the CDC. 

--Alternate (which is too late now given my CDC on table was already created/performed)
EXECUTE sys.sp_cdc_enable_table      
@source_schema = N'dbo'    , 
@source_name = N'Orders'    , 
@role_name = N'cdc_Admin'    , 
@captured_column_list = N'OrderID,CustomerAccount,Product,SalesPerson'

person LearnByReading    schedule 27.04.2015    source источник


Ответы (2)


CDC позволяет одновременно активировать до двух экземпляров захвата для данной таблицы (чтобы приспособиться к изменениям схемы в базовой таблице). Итак, чтобы перейти к новому экземпляру захвата, в котором вы указываете столбцы (как вы делаете во втором вызове sys.sp_cdc_enable_table), укажите значение параметра @capture_instance в sys.sp_cdc_enable_table и перенесите свои задания ETL, чтобы использовать его. Затем, как только вы убедитесь, что старый экземпляр захвата не используется, отбросьте его, используя sys.sp_cdc_disable_table, снова указав значение для @capture_instance (на этот раз старое).

person Ben Thul    schedule 04.05.2015

В SSIS я могу установить [режим обработки CDC] в источнике данных CDC на «Сеть с маской обновления», а затем посмотреть, какие столбцы были изменены.

Вы можете подготовить все данные и использовать маску обновления для обработки только тех изменений, которые вы хотите сохранить.

person tember    schedule 30.04.2015
comment
На самом деле это не ответ на мой вопрос. - person LearnByReading; 01.05.2015
comment
Это не способ заставить CDC прекратить отслеживать определенные столбцы, но он дает вам доступ к метаданным о том, что было изменено. Просто идея для обхода - я думаю, что то, что вы на самом деле спрашиваете, невозможно. - person tember; 02.05.2015