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


sys.sp_cdc_help_change_data_capture (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в 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.

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

    Если аргумент source_schema имеет значение, отличное от NULL, то аргумент source_name не должен иметь значение NULL.

  • [ @source\_name = ] 'source_name'
    Имя исходной таблицы. Аргумент source_name имеет тип sysname и значение NULL по умолчанию. Когда указан аргумент source_name, необходимо указать и аргумент source_schema.

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

    Если аргумент source_name имеет значение, отличное от NULL, то аргумент source_schema не должен иметь значение NULL.

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

0 (успешное завершение) или 1 (неуспешное завершение)

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

Имя столбца

Тип данных

Описание

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 2008 этот столбец всегда имеет значение NULL.

supports_net_changes

bit

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

has_drop_pending

bit

Не используется в SQL Server 2008.

имя_роли

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 используется по умолчанию или задано явно, то эта хранимая процедура возвращает сведения обо всех экземплярах отслеживания базы данных, к которым вызывающий объект может обращаться с помощью инструкции SELECT. Если аргументы source_schema и source_name имеют значения, отличные от NULL, то возвращаются сведения только об определенной включенной таблице с именем.

Разрешения

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

Примеры

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

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

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

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

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

USE AdventureWorks;
GO
EXECUTE sys.sp_cdc_help_change_data_capture;
GO