WEB开发网
开发学院数据库MSSQL Server 处理SSIS 2008中的变更数据捕获 阅读

处理SSIS 2008中的变更数据捕获

 2009-06-16 10:30:13 来源:WEB开发网   
核心提示: insert_count,update_count 和delete_count记录了每次我们运行SSIS程序包的总数,处理SSIS 2008中的变更数据捕获(4),当SSIS程序包成功完成时,status_code被设置1, 我们创建两个存储过程来保存日志: · init_c

insert_count,update_count 和delete_count记录了每次我们运行SSIS程序包的总数。

当SSIS程序包成功完成时,status_code被设置1。

我们创建两个存储过程来保存日志:

· init_cdc_capture_log创建新的一行。

· end_cdc_capture_log更新某行。

init_cdc_capture_log在我们的SSIS程序包开始时调用。它显示如下:

create procedure dbo.init_cdc_capture_log

@capture_instance nvarchar(50)

as

begin

set nocount on;

declare

@begin_lsn binary(10)

, @end_lsn binary(10)

, @prev_max_lsn binary(10)

-- get the max LSN for the capture instance from

-- the last extract

select @prev_max_lsn = max(max_lsn)

from dbo.cdc_capture_log

where capture_instance = @capture_instance

-- if no row found in cdc_capture_log get the min lsn

-- for the capture instance

if @prev_max_lsn is null

set @begin_lsn = sys.fn_cdc_get_min_lsn(@capture_instance)

else

set @begin_lsn = sys.fn_cdc_increment_lsn(@prev_max_lsn)

-- get the max lsn

set @end_lsn = sys.fn_cdc_get_max_lsn()

insert into dbo.cdc_capture_log

(capture_instance,start_time,min_lsn,max_lsn)

values

(@capture_instance,getdate(),@begin_lsn,@end_lsn)

select cast(scope_identity() as int) cdc_capture_log_id

end

上面存储过程的要点是:

上一页  1 2 3 4 5 6  下一页

Tags:处理 SSIS 变更

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接