sys.sp_cdc_help_change_data_capture (Transact-SQL)
Возвращает конфигурацию системы отслеживания измененных данных для каждой таблицы, включенной для системы отслеживания измененных данных в текущей базе данных. Для каждой исходной таблицы может возвращаться до двух строк — по одной строке для каждого экземпляра отслеживания. Система отслеживания измененных данных доступна только в следующих выпусках SQL Server 2008: Enterprise Edition, Developer Edition и Evaluation Edition.
Синтаксис
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