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比直接查询好.
 
相关文档:
declare @i int
set @i=1
while @i<30
begin
insert into test (userid) values(@i)
set @i=@i+1
end
---------------
while 条件
begin
执行操作
set @i=@i+1
end
WHILE
设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 W ......
[MySQL优化] -- 如何查找SQL效率地下的原因
时间:2010-2-28来源:HaCMS开源社区 作者:chusong
查询到效率低的 SQL 语句 后,可以通过 EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序,比如我们想计算 2006 年所有公司的销售额,需要关联 sales ......
select *
from (
select soft.NETMODEL,
soft.softname,
soft.softid ......
sql replace 替换字段中部份指定内容
创建数据库教程
create database cnnet;
创建数据表
CREATE TABLE `cnnet`.`test` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT ,
`url` VARCHAR( 50 ) NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM
插几条数据:
INSERT INTO `test` (`id`, `url`) VALUES
(1, 'www.1aa.cm' ......