sys.sp_cdc_get_captured_columns (Transact-SQL)
Retourne des informations sur les métadonnées de capture des données modifiées pour les colonnes sources capturées suivies par l'instance de capture spécifiée. La capture des données modifiées n'est disponible que dans SQL Server 2008, éditions Enterprise, Developer et Evaluation.
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 avoir la valeur 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 (succès) ou 1 (échec)
Jeux de résultats
Nom de 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. Pour plus d'informations, consultez Configuration de la capture des données modifiées.
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 AdventureWorks;
GO
EXECUTE sys.sp_cdc_get_captured_columns
@capture_instance = N'HumanResources_Employee';
GO
Voir aussi