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

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

 2009-06-16 10:30:13 来源:WEB开发网   
核心提示: 我们查询日志获得从上次运行SSIS程序包开始的max_lsn,如果我们找到从上次运行开始的行,处理SSIS 2008中的变更数据捕获(5),那么我们调用CDC函数sys.fn.cdc_increment_lsn来增加LSN,否则我们调用CDC函数sys.fn_cdc_get_min_lsn

我们查询日志获得从上次运行SSIS程序包开始的max_lsn。如果我们找到从上次运行开始的行,那么我们调用CDC函数sys.fn.cdc_increment_lsn来增加LSN,否则我们调用CDC函数sys.fn_cdc_get_min_lsn来获得我们表中首次更改记录的LSN。

我们调用CDC函数sys.fn_cdc_get_max_lsn to来获得最高的LSN(例如最新事务的LSN)。我们获得当前运行中高达也包括这个LSN的CDC数据。

我们把新的一行插入到日志中并且返回一致值;我们需要这个一致值来更新这行。

      end_cdc_capture_log存储过程更新了通过init_cdc_capture_log存储过程创建的行。它显示如下:
  create procedure dbo.end_cdc_capture_log
  @cdc_capture_log_id int
  , @insert_count int
  , @update_count int
  , @delete_count int
  as
  begin
  set nocount on;
  update dbo.cdc_capture_log set
  end_time = getdate()
  , insert_count = @insert_count
  , update_count = @update_count
  , delete_count = @delete_count
  , status_code = 1
  where cdc_capture_log_id = @cdc_capture_log_id
  end

上面存储过程的要点是:

cdc_capture_log_id是init_cdc_capture_log存储过程返回的值。

我们更新行的计数、结束时间并且把status_code设置成1。

创建SSIS程序包

我们将创建具有下面控制流的SSIS程序包:

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

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

Tags:处理 SSIS 变更

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