sys.sp_cdc_help_change_data_capture (Transact-SQL)

S’applique à :SQL Server

Retourne la configuration de capture de données modifiées pour chaque table activée pour la capture de données modifiées dans la base de données actuelle. Jusqu'à deux lignes peuvent être retournées pour chaque table source, une ligne pour chaque instance de capture. La capture de données modifiées n’est pas disponible dans chaque édition de SQL Server. Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Éditions et fonctionnalités prises en charge de SQL Server 2022.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @source_schema = ] 'source_schema'

Nom du schéma dans lequel la table source appartient. @source_schema est sysname, avec la valeur par défaut NULL. Lorsque @source_schema est spécifié, @source_name doit également être spécifié.

Si la valeur n’est pas null, @source_schema doit exister dans la base de données active.

Si @source_schema n’est pas null, @source_name doit également être non null.

[ @source_name = ] 'source_name'

Nom de la table source. @source_name est sysname, avec la valeur par défaut NULL. Lorsque @source_name est spécifié, @source_schema doit également être spécifié.

Si la valeur n’est pas null, @source_name doit exister dans la base de données active.

Si @source_name n’est pas null, @source_schema doit également être non null.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Nom de la colonne Type de données Description
source_schema sysname Nom du schéma de table source.
source_table sysname Nom de la table source.
capture_instance sysname Nom de l'instance de capture.
object_id int ID de la table de modifications associée à la table source.
source_object_id int ID de la table source.
start_lsn binary(10) Numéro séquentiel dans le journal qui représente le point de terminaison inférieur pour interroger la table de modifications.

NULL = le point de terminaison faible n’a pas été établi.
end_lsn binary(10) Numéro séquentiel dans le journal qui représente le point de terminaison supérieur pour interroger la table de modifications. Dans SQL Server 2012 (11.x), cette colonne est toujours NULL.
supports_net_changes bit La prise en charge des modifications nettes est activée.
has_drop_pending bit Non utilisé dans SQL Server 2012 (11.x).
role_name sysname Nom du rôle de base de données utilisé pour contrôler l'accès aux données modifiées.

NULL = un rôle n’est pas utilisé.
index_name sysname Nom de l'index utilisé pour identifier de façon unique des lignes dans la table source.
filegroup_name sysname Nom du groupe de fichiers qui contient la table de modifications.

NULL = la table de modifications se trouve dans le groupe de fichiers par défaut de la base de données.
create_date datetime Date d'activation de l'instance de capture.
index_column_list nvarchar(max) Liste des colonnes d'index utilisées pour identifier de façon unique des lignes dans la table source.
captured_column_list nvarchar(max) Liste des colonnes sources capturées.

Notes

Lorsque les deux @source_schema et @source_name valeur par défaut sur NULL ou définissent explicitement la valeur NULL, cette procédure stockée retourne des informations pour toutes les instances de capture de base de données auxquelles l’appelant a accès. Lorsque @source_schema et @source_name ne sont pas null, seules les informations sur la table nommée spécifique sont retournées.

Autorisations

Lorsque @source_schema et @source_name sont NULL, l’autorisation de l’appelant détermine les tables activées incluses dans le jeu de résultats. Les appelants doivent avoir l'autorisation SELECT sur toutes les colonnes capturées de l'instance de capture et être membres d'un rôle de régulation défini pour les informations de table à inclure.

Les membres du rôle de base de données db_owner peuvent afficher des informations sur toutes les instances de capture définies. Lorsque des informations pour une table activée spécifique sont demandées, les mêmes critères SELECT et d'appartenance sont appliqués pour la table nommée.

Exemples

R. Retourner les informations de configuration de capture de données modifiées pour une table spécifiée

L'exemple suivant retourne la configuration de capture des données modifiées pour la table HumanResources.Employee.

USE AdventureWorks2022;
GO

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

B. Retourner les informations de configuration de capture de données modifiées pour toutes les tables

L'exemple suivant retourne des informations de configuration pour toutes les tables activées dans la base de données qui contient des données modifiées auxquelles l'appelant est autorisé à accéder.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_help_change_data_capture;
GO