共用方式為


sys.sp_cdc_help_change_data_capture (Transact-SQL)

針對在目前資料庫中啟用異動資料擷取的每個資料表,傳回異動資料擷取組態。 每個來源資料表最多可傳回兩個資料列 (每個擷取執行個體一個資料列)。 並非每個 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

與來源資料表相關聯之變更資料表的識別碼。

source_object_id

int

來源資料表的識別碼。

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