Поделиться через


cdc.change_tables (Transact-SQL)

Возвращает по одной строке для каждой таблицы изменений в базе данных. Таблица изменений, созданная при включении системы отслеживания измененных данных в исходной таблице. Не рекомендуется непосредственно запрашивать системные таблицы. Вместо этого выполните хранимую процедуру sys.sp_cdc_help_change_data_capture.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Имя столбца

Тип данных

Описание

object_id

int

Идентификатор таблицы изменений. Уникален в базе данных.

версия

int

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

В SQL Server 2012 этот столбец возвращает 0.

source_object_id

int

Идентификатор исходной таблицы, в который включена система отслеживания измененных данных.

capture_instance

sysname

Имя экземпляра отслеживания, использующегося для именования объектов отслеживания, относящихся к конкретным экземплярам. По умолчанию это имя является производным от имени схемы источника и имени исходной таблицы в формате schemaname_sourcename.

start_lsn

binary(10)

Регистрационный номер транзакции в журнале (номер LSN), представляющий нижнюю конечную точку при запросе данных изменений в таблице изменений.

NULL = не установлена нижняя конечная точка.

end_lsn

binary(10)

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

В SQL Server 2008 этот столбец всегда возвращает NULL.

supports_net_changes

bit

Поддержка запросов сетевых изменений включается в таблице изменений.

has_drop_pending

bit

Процесс отслеживания получил уведомление об удалении исходной таблицы.

имя_роли

sysname

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

NULL = роль не используется.

index_name

sysname

Имя индекса, который использовался для уникальной идентификации строк в исходной таблице. index_name является именем индекса первичного ключа исходной таблицы или именем уникального индекса, указанного при включении системы отслеживания измененных данных в исходной таблице.

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

Примечание

Если система отслеживания измененных данных включается для таблицы с существующим первичным ключом, а параметр не используется для определения альтернативного уникального индекса, то функция отслеживания измененных данных будет использовать первичный ключ.После включения системы отслеживания измененных данных в первичном ключе изменения не допускаются.

Если в таблице нет первичного ключа, систему отслеживания измененных данных можно включить, но только при суммарных изменениях, установленных в false.После включения системы отслеживания измененных данных можно создать первичный ключ.Можно также изменить первичный ключ, поскольку система отслеживания измененных данных не использует первичный ключ.

filegroup_name

sysname

Имя файловой группы, в которой расположена таблица изменений.

NULL = таблица изменений расположена в файловой группе по умолчанию для базы данных.

create_date

datetime

Дата включения исходной таблицы.

partition_switch

bit

Указывает, возможно ли выполнение команды SWITCH PARTITION инструкции ALTER TABLE для таблицы, в которой включена система отслеживания измененных данных. Значение 0 указывает на то, что переключение секций заблокировано. Несекционированные таблицы всегда возвращают значение 1.

См. также

Справочник

sys.sp_cdc_help_change_data_capture (Transact-SQL)