Partager via


sys.sp_cdc_get_captured_columns (Transact-SQL)

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 toutes les éditions de Microsoft SQL Server. Pour obtenir une liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Fonctionnalités prises en charge par les éditions de SQL Server 2012.

Icône Lien de rubrique 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 de type sysname et ne peut pas être NULL.

    Pour établir un rapport sur les instances de capture pour la table, exécutez la procédure stockée sys.sp_cdc_help_change_data_capture.

Valeurs des codes de retour

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

Jeux 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.

ordinal_position

int

Position de la colonne dans la table source.

data_type

sysname

Type de données de la colonne.

character_maximum_length

int

Longueur maximale en caractères de la colonne basée sur les caractères ; sinon, NULL.

numeric_precision

tinyint

Précision de la colonne si elle est numérique ; sinon, NULL.

numeric_precision_radix

smallint

Base de précision de la colonne si elle est numérique ; sinon, NULL.

numeric_scale

int

Échelle de la colonne si elle est numérique ; sinon, NULL.

datetime_precision

smallint

Précision de la colonne si elle est basée sur datetime ; sinon, NULL.

Notes

Utilisez sys.sp_cdc_get_captured_columns pour obtenir des informations de colonne sur les colonnes capturées retournées en interrogeant les fonctions de requête de l'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 qui sont ajoutées ou supprimées dans une table source n'ont aucun impact sur les colonnes capturées des instances de capture existantes.

Utilisez sys.sp_cdc_get_ddl_history pour obtenir des informations sur les instructions de langage de définition de données (DDL) 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 de consulter les données sources, la fonction retourne l'erreur 22981 (L'objet n'existe pas ou l'accès est refusé.).

Exemples

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

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

Voir aussi

Référence

sys.sp_cdc_help_change_data_capture (Transact-SQL)