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


cdc.change_tables (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

Имя столбца Тип данных Description
object_id int Идентификатор таблицы изменений. Уникален в базе данных.
version int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

Для SQL Server 2012 (11.x) этот столбец всегда возвращает значение 0.
source_object_id int Идентификатор исходной таблицы, в который включена система отслеживания измененных данных.
capture_instance sysname Имя экземпляра отслеживания, использующегося для именования объектов отслеживания, относящихся к конкретным экземплярам. По умолчанию имя является производным от имени исходной схемы, а также имени исходной таблицы в формате schemaname_sourcename.
start_lsn binary(10) Регистрационный номер транзакции в журнале (номер LSN), представляющий нижнюю конечную точку при запросе данных изменений в таблице изменений.

NULL = низкая конечная точка не установлена.
end_lsn binary(10) Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

Для SQL Server 2008 (10.0.x) этот столбец всегда возвращает значение NULL.
supports_net_changes bit Поддержка запросов сетевых изменений включается в таблице изменений.
has_drop_pending bit Процесс отслеживания получил уведомление об удалении исходной таблицы.
role_name 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)