SQL Server中的变更捕获技术--简单部署
------准备------
CREATE DATABASE db_test_cdc
CREATE TABLE t1(id INT IDENTITY(1,1) ,name VARCHAR(50));
INSERT INTO t1(name)VALUES('test')
------开始------
--启用数据库变更捕获
使用变更捕获首先需要启用数据库变更捕获,执行如下存储过程,启用变更捕获
USE db_test_cdc EXEC sys.sp_cdc_enable_db
GO
启用完以后SQL SERVER会自动创建一系列有关变更捕获的讯息,如下:

--启用表变更捕获
启用变更捕获以后,就可以针对表开启捕获,执行如下SQL
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo', --表架构名字
@source_name = N't1', --表名字
@role_name = N'cdec_role' --可以查询该表的角色,如果有则不创建,如果没有则创建
成功启用了该表以后,SQL Server会创建该表的数据捕获表:

当第一次启用表的时候,会创建两个代理作业,所以如果使用变更捕获,则需要启用代理,以下是第一次启用表变更产生的代理:

cdc.db_test_cdc_capture:是用于将变更的数据同步到我们启用的变更表中,即:cdc.dbo_t1_CT这个表
cdc.db_test_cdc_cleanup:适用于定时清理cdc.dbo_t1_CT这个表这个表中的数据
我们在t1表插入一条数据,进行测试。
INSERT INTO t1(name)VALUES('test1');
这个表则会记录一条数据

其中$operation这个字段表示新增的这行是怎么来的,值分别有下面这几种:
1:删除
2:增加
3:修改前数据
4:修改后数据
--禁用表变更捕获
USE db_test_cdc
GO EXEC sys.sp_cdc_disable_table
@source_schema = N'dbo',
@source_name = N't1',
@capture_instance = N'dbo_t1'
GO
执行禁用表变更以后,其相应的表会被删除掉 如下:

--禁用数据库变更
USE db_test_cdc
GO EXEC sys.sp_cdc_disable_db
禁用数据库表变更以后,所有有关变更捕获的讯息,均被清空;

-------结束---------
以上是有关变更捕获的简单部署,后续会继续更新有关变更捕获更详细的资料
SQL Server中的变更捕获技术--简单部署的更多相关文章
- NET在SQL Server中的图片存取技术
本文总结如何在.Net WinForm和.Net WebForm(asp.net)中将图片存入SQL Server中并读取显示的方法 .1.使用asp.net将图片上传并存入SQL Server中,然 ...
- 导出SQL Server中所有Job的最简单方法
应用场景: 在将源SQL Server数据库服务器中的所有Job(作业)迁移至目标数据库服务器的过程中,需要先将这些Job导出为SQL脚本. 操作步骤: 1.在Microsoft SQL Server ...
- SQL Server中带事务的存储过程简单举例
先来看一个概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行.那么在存储过程里添加事务,则可以保证该事务里的所 ...
- SQL Server中的高可用性(1)----高可用性概览
自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server 2008,SQL Server 2008 R2,SQL ...
- SQL Server中的高可用性1
SQL Server中的高可用性(1)----高可用性概览 自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server ...
- SQL Server数据库损坏、检测以及简单的修复办法
简介 在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也 ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- SQL Server中的锁的简单学习
简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查询的 ...
- 最简单删除SQL Server中所有数据的方法
最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间 ...
随机推荐
- ionic2 App搭建(三)
cmd命令提示框中进入项目文件夹 运行命令 ionic serve --lab 结构如下图 这里数据是没有接受到的,是因为跨域的问题,解决方案是谷歌浏览器配置跨域指令如下: 配置chrome浏览器允 ...
- jsp分页
<%! int pataSize=5;// 每页多少数据 int totalCount =0; //数据共多少 int pageCount = 0; ///数据共有多少页 ...
- Spring框架入门之Spring简介
一.Spring简介(由Rod Johnson创建的一个开源框架) Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿 ...
- LeetCode第[11]题(Java):Container With Most Water 标签:Array
题目难度:Medium Given n non-negative integers a1, a2, ..., an, where each represents a point at coordina ...
- K:平衡二叉树(AVL)
相关介绍: 二叉查找树的查找效率与二叉树的形状有关,对于按给定序列建立的二叉排序树,若其左.右子树均匀分布,则查找过程类似于有序表的二分查找,时间复杂度变为O(log2n).当若给定序列原来有序,则 ...
- Redis与数据库同步问题
缓存数据与持久化数据的一致性,这个问题总结了一下(看到了一个不错的博文),其实就是读和写,还有就是要注意谁先谁后的问题. Redis 是一个高性能的key-value数据库. redis的出现,很大程 ...
- Linux下zeromq.js安装
本文章主要阐述在离线环境下安装zeromq.js的方法和步骤.zeromq.js下载地址: https://www.npmjs.com/package/zeromq或者 https://github. ...
- SPATRA的使用
SPATRA是kali里的集成工具,可以自动化渗透测试 在命令行里键入:sparta即可进入 进去后单机左边空白处 输入你要进行渗透测试的IP 正在扫描中 点击bute可以进入hydra
- AtCoder Grand Contest 013
这场打得蛮菜的,很晚才出BC,还一堆罚时…… A - Sorted Arrays 题目大意:将给定数列划分成单调不增或单调不减的区间,求最少区间数. 贪心即可. #include<cstdio& ...
- Eclipse集成Tomcat的步骤,我已测试N次都是成功的
本文转自:https://www.cnblogs.com/weixing/p/3229983.html#undefined 使用Eclipse开发B/S结构Web应用时,必须使用Web应用服务器,常见 ...