次の方法で共有


sys.sp_cdc_help_change_data_capture (Transact-SQL)

現在のデータベース内で変更データ キャプチャが有効にされている各テーブルを対象に、変更データ キャプチャの構成を返します。 取得できる行は、1 つのソース テーブルにつき最大 2 行 (キャプチャ インスタンスごとに 1 行) です。 変更データ キャプチャは、Microsoft SQL Server のすべてのエディッションで使用できるわけではありません。 SQL Server の各エディションでサポートされる機能の一覧については、「SQL Server 2014 の各エディションがサポートする機能」を参照してください。

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)

トピック リンク アイコン 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 2012 では、この列は常に NULL です。

supports_net_changes

bit

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

has_drop_pending

bit

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

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 AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_help_change_data_capture 
    @source_schema = N'HumanResources', 
    @source_name = N'Employee';
GO

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

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

USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_help_change_data_capture;
GO