Partager via


sys.sp_cdc_get_captured_columns (Transact-SQL)

S'applique à : SQL Server

Retourne des informations sur les métadonnées de capture de données modifiées pour les colonnes sources capturées suivies par l'instance de capture spécifiée. 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_get_captured_columns
    [ @capture_instance = ] 'capture_instance'
[ ; ]

Arguments

[ @capture_instance = ] 'capture_instance'

Nom de l’instance de capture associée à une table source. @capture_instance est sysname et ne peut pas être NULL.

Pour signaler les instances de capture de la table, exécutez la procédure stockée sys.sp_cdc_help_change_data_capture .

Valeurs des codes de retour

0 (réussite) or 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.
column_name sysname Nom de la colonne source capturée.
column_id int ID de la colonne dans la table source.
column_ordinal int Position de la colonne dans la table source.
data_type sysname Type de données de colonne.
character_maximum_length int Longueur maximale du caractère de la colonne basée sur des caractères ; sinon, NULL.
numeric_precision tinyint Précision de la colonne si elle est numérique ; sinon, NULL.
numeric_precision_radix smallint Radix de précision de la colonne si la base numérique ; sinon, NULL.
numeric_scale int Mise à l’échelle de la colonne si elle est numérique ; sinon, NULL.
datetime_precision smallint Précision de la colonne si datetime est basée ; sinon, NULL.

Notes

Permet sys.sp_cdc_get_captured_columns d’obtenir des informations sur les colonnes capturées retournées en interrogeant les fonctions de requête d’instance de capture cdc.fn_cdc_get_all_changes_<capture_instance> ou cdc.fn_cdc_get_net_changes_<capture_instance>. Les noms de colonnes, ID et position restent constants pendant la vie de l'instance de capture. Seul le type de données de colonne change lorsque le type de données de la colonne source sous-jacente dans la table faisant l'objet d'un suivi change. Les colonnes ajoutées ou supprimées d’une table source n’ont aucun effet sur les colonnes capturées des instances de capture existantes.

Utilisez sys.sp_cdc_get_ddl_history pour obtenir des informations sur les instructions DDL (Data Definition Language) appliquées à une table source. Toute modification DDL qui a modifié la structure d'une colonne source faisant l'objet d'un suivi est retournée dans le jeu de résultats.

autorisations

Nécessite l'appartenance au rôle de base de données fixe db_owner. Pour tous les autres utilisateurs, requiert l'autorisation SELECT sur toutes les colonnes capturées dans la table source et, si un rôle de régulation pour l'instance de capture a été défini, l'appartenance à ce rôle de base de données. Lorsque l’appelant n’a pas l’autorisation d’afficher les données sources, la fonction retourne l’erreur 22981 (Object doesn't exist or access is denied.).

Exemples

L'exemple suivant retourne des informations sur les colonnes capturées de l'instance de capture HumanResources_Employee.

USE AdventureWorks2022;
GO

EXECUTE sys.sp_cdc_get_captured_columns
    @capture_instance = N'HumanResources_Employee';
GO