sys.sp_cdc_get_captured_columns (Transact-sql)sys.sp_cdc_get_captured_columns (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

指定したキャプチャ インスタンスによって追跡されるキャプチャ対象のソース列について、変更データ キャプチャのメタデータ情報を返します。Returns change data capture metadata information for the captured source columns tracked by the specified capture instance. 変更データ キャプチャは、 MicrosoftMicrosoftSQL ServerSQL Serverのすべてのエディッションで使用できるわけではありません。Change data capture is not available in every edition of MicrosoftMicrosoftSQL ServerSQL Server. SQL ServerSQL Serverの各エディションでサポートされる機能の一覧については、「 SQL Server 2016 の各エディションがサポートする機能」を参照してください。For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
sys.sp_cdc_get_captured_columns   
    [ @capture_instance = ] 'capture_instance'  

引数Arguments

[ @capture_instance =] 'capture_instance'[ @capture_instance = ] 'capture_instance'
ソーステーブルに関連付けられたキャプチャインスタンスの名前を指定します。Is the name of the capture instance associated with a source table. capture_instancesysname であり、NULL にすることはできません。capture_instance is sysname and cannot be NULL.

テーブルのキャプチャインスタンスに関するレポートを作成するには、 sys.sp_cdc_help_change_data_capture ストアドプロシージャを実行します。To report on the capture instances for the table, run the sys.sp_cdc_help_change_data_capture stored procedure.

リターン コードの値Return Code Values

0 (成功) または 1 (失敗)0 (success) or 1 (failure)

結果セットResult Sets

列名Column name データ型Data type 説明Description
source_schemasource_schema sysnamesysname ソース テーブルのスキーマ名です。Name of the source table schema.
source_tablesource_table sysnamesysname ソーステーブルの名前。Name of the source table.
capture_instancecapture_instance sysnamesysname キャプチャ インスタンスの名前です。Name of the capture instance.
column_namecolumn_name sysnamesysname キャプチャされたソース列の名前。Name of the captured source column.
column_idcolumn_id intint ソーステーブル内の列の ID。ID of the column in the source table.
column_ordinalcolumn_ordinal intint ソース テーブル内での列の位置です。Position of the column within the source table.
data_typedata_type sysnamesysname 列のデータ型。Column data type.
character_maximum_lengthcharacter_maximum_length intint 文字ベースの列の最大文字長。それ以外の場合は NULL。Maximum character length of the character-based column; otherwise, NULL.
numeric_precisionnumeric_precision tinyinttinyint 数値ベースの場合は、列の有効桁数です。それ以外の場合は、NULL です。Precision of the column if numeric-based; otherwise, NULL.
numeric_precision_radixnumeric_precision_radix smallintsmallint 数値ベースの場合は、列の有効桁数の基数です。それ以外の場合は、NULL です。Precision radix of the column if numeric-based; otherwise, NULL.
numeric_scalenumeric_scale intint 数値ベースの場合は、列の小数点以下桁数です。それ以外の場合は、NULL です。Scale of the column if numeric-based; otherwise, NULL.
datetime_precisiondatetime_precision smallintsmallint Datetime ベースの場合は、列の有効桁数です。それ以外の場合は NULL。Precision of the column if datetime-based; otherwise, NULL.

注釈Remarks

Sys.sp_cdc_get_captured_columns を使用して、キャプチャインスタンスクエリ関数 cdc.fn_cdc_get_all_changes_<capture_instance> または cdc.fn_cdc_get_net_changes_ <capture_instance>に対してクエリを実行することによって返されたキャプチャ対象列の列情報を取得します。Use sys.sp_cdc_get_captured_columns to obtain column information about the captured columns returned by querying the capture instance query functions cdc.fn_cdc_get_all_changes_<capture_instance> or cdc.fn_cdc_get_net_changes_<capture_instance>. 列名、Id、および位置は、キャプチャインスタンスの有効期間中は一定のままです。The column names, IDs, and position remain constant for the life of the capture instance. 追跡対象テーブルの基になるソース列のデータ型が変更された場合にのみ、列のデータ型が変化します。Only the column data type changes when the data type of the underlying source column in the tracked table changes. ソーステーブルに対して追加または削除された列は、既存のキャプチャインスタンスのキャプチャ対象列には影響しません。Columns that are added to or dropped from a source table have no impact on the captured columns of existing capture instances.

Sys.sp_cdc_get_ddl_historyを使用して、ソーステーブルに適用されるデータ定義言語 (ddl) ステートメントに関する情報を取得します。Use sys.sp_cdc_get_ddl_history to obtain information about data definition language (DDL) statements applied to a source table. DDL の変更によって追跡対象ソース列の構造が変更された場合、そのような DDL の変更がすべて結果セットとして返されます。Any DDL changes that modified the structure of a tracked source column is returned in the result set.

アクセス許可Permissions

db_owner 固定データベース ロールのメンバーシップが必要です。Requires membership in the db_owner fixed database role. 他のすべてのユーザーに対して、ソーステーブルのすべてのキャプチャ対象列に対する SELECT 権限が必要です。また、キャプチャインスタンスのゲートロールが定義されている場合は、そのデータベースロールのメンバーシップが必要です。For all other users, requires SELECT permission on all captured columns in the source table and, if a gating role for the capture instance was defined, membership in that database role. 呼び出し元にソースデータを表示するアクセス許可がない場合、関数はエラー 22981 (オブジェクトが存在しないか、アクセスが拒否されました。) を返します。When the caller does not have permission to view the source data, the function returns error 22981 (Object does not exist or access is denied.).

Examples

次の例は、HumanResources_Employee キャプチャ インスタンスに存在するキャプチャ対象列の情報を返します。The following example returns information about the captured columns in the HumanResources_Employee capture instance.

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

参照See Also

sys.sp_cdc_help_change_data_capture (Transact-sql)sys.sp_cdc_help_change_data_capture (Transact-SQL)