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_nameNULL
, авторизация вызывающего средства определяет, какие таблицы включены в результирующий набор. Чтобы включать сведения о таблице, вызывающие объекты должны иметь разрешение 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