SQL SERVER 2008 数据变更捕获(CDC )
	
    
    
	SQL SERVER 2008 异步捕获表数据修改
 
写的不对的地方请各位指正,写的也比较乱。讲究这看吧。^ ^
/*
SQL SERVER 2008 异步捕获表数据修改
 
 
SQL server 2008为异步跟踪所有发生在用户表上的数据修改提供了内建的方法,
而不需要编写自定义的触发器或者查询,变更数据捕获拥有最小性能开销,可以
用于其它数据源的持续更新,例如,将OLTP数据库中的数据变更迁移到数据仓库
数据库.下面我们演示该功能.
 
 
*/
 
 
/*
  1 建立测试数据库
*/
IF NOT EXISTS (SELECT NAME from SYS.databases WHERE name='CDC_TEST_DB')
 
BEGIN
    CREATE DATABASE CDC_TEST_DB
END
 
/*
  2 在把CDC增加到CDC_TEST_DB数据库的表中,首先应该验证数据库是否启用了数据
    捕获
*/
 
    --验证是否开启
    SELECT IS_CDC_ENABLED from SYS.databases WHERE name='CDC_TEST_DB'
    /*
    IS_CDC_ENABLED
    --------------
    0
 
    (1 行受影响)
    */
    
    --启用数据变更,在CDC_TEST_DB数据库中执行SYS.SP_CDC_ENABLE_DB存储过程:
    
    USE CDC_TEST_DB
    GO
    
    EXEC sys.SP_CDC_ENABLE_DB
    GO
    
    /*
      CDC_TEST_DB开启数据捕获后,你将会在CDC_TEST_DB->安全性->架构下面看到新
      建立了一个CDC架构.
      
      同样在CDC_TEST_DB会建立一些CDC架构的下的系统表:
       cdc.captured_columns 
       返回指定的跟踪列
       
       cdc.change_tables 
       返回启用CDC的表.使用sys.sp_cdc_help_change_data_capture比直接查询好.
       
     
    
     
	
	
    
    
	相关文档:
        
    
    首先说明一点:VC程序中用ADO连接SQL Server 2005 和连接 SQL Server 2000的语句和连接字符串是完全一样的,下面的代码适用于两个数据库的连接。
另一点说明:如果你以前安装过SQL Server 2000,后在没有卸载的情况下又安装了2005,那么你之前在2000中设置的用户名和密码在2005中会保持,即使你安装2005时未设置任何用户名 ......
	
    
        
    
    --语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DRO ......
	
    
        
    
    一、创建一张空表:
    Sql="Create TABLE [表名]"
二、创建一张有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段类型:
 2 : "SmallInt",                 // 整型
 3 : "Int",  ......
	
    
        
    
    SQLServer和Oracle的常用函数对比
  1.绝对值 
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大) 
  S:select ceiling(-1.001) value 
  O:select ceil(-1.001) value from dual
  3.取整(小) 
  S:select floor(-1.001) value 
  O:select floor(-1.001) value fr ......
	
    
        
    
    本文针对SQL*Loader控制文件进行说明。
一:SQL*Loader控制文件的内容
SQL*Loader控制文件使用DDL命令来控制SQL*Loader会话的以下项目:
●使用SQL*Loader导入数据的位置
●数据格式设定方法
●导入数据时SQL*Loader的设定。(内存管理、被拒绝记录、导入处理的中断等)
●导入时数据的处理方法
控制文件例:emp.ctl ......