sys.sp_cdc_help_change_data_capture (Transact-SQL)

Применимо к:SQL Server

Возвращает конфигурацию системы отслеживания измененных данных для каждой таблицы, включенной для системы отслеживания измененных данных в текущей базе данных. Для каждой исходной таблицы может возвращаться до двух строк — по одной строке для каждого экземпляра отслеживания. Запись измененных данных недоступна в каждом выпуске SQL Server. Список функций, поддерживаемых выпусками SQL Server, см. в выпусках и поддерживаемых функциях SQL Server 2022.

Соглашения о синтаксисе Transact-SQL

Синтаксис

sys.sp_cdc_help_change_data_capture
    [ [ @source_schema = ] 'source_schema' ]
    [ , [ @source_name = ] 'source_name' ]
[ ; ]

Аргументы

[ @source_schema = ] 'source_schema'

Имя схемы, в которой принадлежит исходная таблица. @source_schema имеет имя sysname с значением по умолчаниюNULL. При указании @source_schema также необходимо указать @source_name.

Если значение не равно null, @source_schema должны существовать в текущей базе данных.

Если @source_schema не имеет значения NULL, @source_name также должен быть не null.

[ @source_name = ] 'source_name'

Имя исходной таблицы. @source_name — sysname с значением по умолчаниюNULL. При указании @source_name также необходимо указать @source_schema.

Если значение не равно null, @source_name должны существовать в текущей базе данных.

Если @source_name не имеет значения NULL, @source_schema также должен быть не null.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

Имя столбца Тип данных Description
source_schema sysname Имя схемы исходной таблицы.
source_table sysname Имя исходной таблицы.
capture_instance sysname Имя экземпляра отслеживания.
object_id int Идентификатор таблицы изменений, связанной с исходной таблицей.
source_object_id int Идентификатор исходной таблицы.
start_lsn binary(10) Регистрационный номер LSN, представляющий нижнюю конечную точку для запроса к таблице изменений.

NULL = низкая конечная точка не установлена.
end_lsn binary(10) Номер LSN, представляющий верхнюю конечную точку для запроса к таблице изменений. В SQL Server 2012 (11.x) этот столбец всегда имеет значение NULL.
supports_net_changes bit Включена поддержка отслеживания сетевых изменений.
has_drop_pending bit Не используется в SQL Server 2012 (11.x).
role_name sysname Имя роли базы данных, которая использовалась для управления доступом к информации об изменениях.

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

NULL = таблица изменений расположена в файловой группе по умолчанию для базы данных.
create_date datetime Дата включения экземпляра отслеживания.
index_column_list nvarchar(max) Список столбцов индекса, который использовался для уникальной идентификации строк в исходной таблице.
captured_column_list nvarchar(max) Список отслеживаемых исходных столбцов.

Замечания

Если @source_schema и @source_name по умолчанию значение NULL или явно задано значение NULL, эта хранимая процедура возвращает сведения для всех экземпляров отслеживания базы данных, к которым вызывающий объект имеет доступ SELECT. Если @source_schema и @source_name не имеют значения NULL, возвращается только информация о конкретной именованной таблице с включенным значением.

Разрешения

Если @source_schema и @source_name имеют значение NULL, авторизация вызывающего средства определяет, какие таблицы включены в результирующий набор. Чтобы включать сведения о таблице, вызывающие объекты должны иметь разрешение SELECT для всех отслеживаемых столбцов в экземпляре отслеживания, а также входить во все определенные шлюзовые роли.

Члены роли базы данных db_owner могут просматривать сведения обо всех определенных экземплярах записи. Когда запрашиваются сведения об определенной активной таблице, к именованной таблице применяются те же требования относительно разрешений SELECT и членства в роли.

Примеры

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

В следующем примере возвращается конфигурация системы отслеживания информации об изменениях для таблицы HumanResources.Employee.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture
    @source_schema = N'HumanResources',
    @source_name = N'Employee';
GO

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

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

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture;
GO