sys.sp_cdc_help_change_data_capture (Transact-SQL)

現在のデータベース内で変更データ キャプチャが有効にされている各テーブルを対象に、変更データ キャプチャの構成を返します。取得できる行は、1 つのソース テーブルにつき最大 2 行 (キャプチャ インスタンスごとに 1 行) です。変更データ キャプチャは、SQL Server 2008 Enterprise Edition、Developer Edition、および Evaluation Edition でのみ使用できます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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

引数

  • [ @source_schema = ] 'source_schema'
    ソース テーブルが属しているスキーマの名前を指定します。source_schema のデータ型は sysname で、既定値は NULL です。source_schema を指定するときは source_name も指定する必要があります。

    NULL 以外の場合、source_schema は、現在のデータベース内に存在している必要があります。

    source_schema が NULL 以外の場合、source_name も NULL 以外にする必要があります。

  • [ @source_name = ] 'source_name'
    ソース テーブルの名前を指定します。source_name のデータ型は sysname で、既定値は NULL です。source_name を指定するときは source_schema も指定する必要があります。

    NULL 以外の場合、source_name は、現在のデータベース内に存在している必要があります。

    source_name が NULL 以外の場合、source_schema も NULL 以外にする必要があります。

リターン コードの値

0 (成功) または 1 (失敗)

結果セット

列名

データ型

説明

source_schema

sysname

ソース テーブルのスキーマ名です。

source_table

sysname

ソース テーブルの名前です。

capture_instance

sysname

キャプチャ インスタンスの名前です。

object_id

int

ソース テーブルに関連付けられている変更テーブルの ID です。

source_object_id

int

ソース テーブルの ID です。

start_lsn

binary(10)

変更テーブルを照会する際の下端を表すログ シーケンス番号 (LSN) です。

NULL = 下端は設定されていません。

end_lsn

binary(10)

変更テーブルを照会する際の上端を表す LSN です。SQL Server 2008 では、この列は常に NULL です。

supports_net_changes

bit

差分変更のサポートが有効になっています。

has_drop_pending

bit

SQL Server 2008 では使用されません。

role_name

sysname

変更データへのアクセスを制御するデータベース ロールの名前です。

NULL = ロールは使用されません。

index_name

sysname

ソース テーブル内の行を一意に識別するためのインデックス名です。

filegroup_name

sysname

変更テーブルが存在するファイル グループの名前です。

NULL = 変更テーブルは、データベースの既定のファイル グループに存在します。

create_date

datetime

キャプチャ インスタンスが有効にされた日付です。

index_column_list

nvarchar(max)

ソース テーブル内の行を一意に識別するためのインデックス列のリストです。

captured_column_list

nvarchar(max)

キャプチャ対象のソース列のリスト。

説明

source_schema と source_name の両方が既定で NULL に設定されているか、または明示的に NULL に設定されている場合、このストアド プロシージャでは、呼び出し元が SELECT アクセス権を持つデータベースの、すべてのキャプチャ インスタンスに関する情報が返されます。source_schema と source_name が NULL 以外の場合、指定された有効なテーブルに関する情報のみが返されます。

権限

source_schema と source_name が NULL の場合、結果セットに含まれる有効なテーブルは、呼び出し元の承認によって決まります。呼び出し元には、キャプチャ インスタンスのすべてのキャプチャ対象列に対する SELECT 権限が必要です。さらに、テーブル情報を含める場合は、定義されたすべてのゲーティング ロールのメンバーシップも必要です。db_owner データベース ロールのメンバーは、定義されたすべてのキャプチャ インスタンスに関する情報を表示できます。特定の有効なテーブルの情報を要求する場合は、指定したテーブルについて、同じ SELECT およびメンバーシップ基準が適用されます。

A. 指定したテーブルについて変更データ キャプチャの構成情報を取得する

次の例は、HumanResources.Employee テーブルを対象に変更データ キャプチャの構成を取得します。

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

B. すべてのテーブルについて変更データ キャプチャの構成情報を取得する

次の例は、呼び出し元がアクセスを許可されている変更データを含むデータベース内のすべての有効なテーブルを対象に構成情報を取得します。

USE AdventureWorks2008R2;
GO
EXECUTE sys.sp_cdc_help_change_data_capture;
GO

関連項目

その他の技術情報