------准备------

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中的变更捕获技术--简单部署的更多相关文章

  1. NET在SQL Server中的图片存取技术

    本文总结如何在.Net WinForm和.Net WebForm(asp.net)中将图片存入SQL Server中并读取显示的方法 .1.使用asp.net将图片上传并存入SQL Server中,然 ...

  2. 导出SQL Server中所有Job的最简单方法

    应用场景: 在将源SQL Server数据库服务器中的所有Job(作业)迁移至目标数据库服务器的过程中,需要先将这些Job导出为SQL脚本. 操作步骤: 1.在Microsoft SQL Server ...

  3. SQL Server中带事务的存储过程简单举例

    先来看一个概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行.那么在存储过程里添加事务,则可以保证该事务里的所 ...

  4. SQL Server中的高可用性(1)----高可用性概览

        自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server 2008,SQL Server 2008 R2,SQL ...

  5. SQL Server中的高可用性1

    SQL Server中的高可用性(1)----高可用性概览   自从SQL Server 2005以来,微软已经提供了多种高可用性技术来减少宕机时间和增加对业务数据的保护,而随着SQL Server ...

  6. SQL Server数据库损坏、检测以及简单的修复办法

    简介     在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也 ...

  7. c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程

    c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...

  8. SQL Server中的锁的简单学习

    简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查询的 ...

  9. 最简单删除SQL Server中所有数据的方法

     最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间 ...

随机推荐

  1. python3之File文件方法

    1.读写文件 open()将会返回一个file对象,基本语法: open(filename,mode) filename:是一个包含了访问的文件名称的路径字符串 mode:决定了打开文件的模式:只读, ...

  2. Linux CentOS 6.5 配置网络

    网卡说明 第一块网卡为配置外网:eth0 第二块网卡为配置内网:eth1(没有外网的机器也要将内网配置在第二块网卡上) 1.使用ifconfig查看网卡配置信息 2.修改网卡1配置文件/etc/sys ...

  3. mimtproxy和arpspoof实现局域网MITM

    本地环境 环境:kali系统 目标机器:192.168.0.101 局域网网关:192.168.0.1 当前网络网卡端口:wlan0 arp欺骗流程 命令行开启本地数据转发: echo > /p ...

  4. Redis随笔(三)主从搭建

    1.安装redis cd /root/svr/wget http://download.redis.io/releases/redis-3.2.9.tar.gz tar -zxvf redis-3.2 ...

  5. 数据结构-栈 C和C++的实现

    在数据结构中,栈是一种桶状结构,每次往桶里放数据,最后放的数据最先被拿出来,最先放进去的数据最后才能出来(FILO) C语言: 一.文件清单: MyStack.h: #ifndef _MYSTACK_ ...

  6. ES6小点心第二弹——底部浮现弹窗

    小点心,顾名思义,开箱即食,拿来即用. 献上第二个小点心:SlidePopup. GitHub 在线演示 GitHub 上欢迎大家来找茬^_^ 前端朋友们,今天要介绍的这款小点心牛B了.相信是个前端都 ...

  7. DeepLearning.ai学习笔记(四)卷积神经网络 -- week3 目标检测

    一.目标定位 这一小节视频主要介绍了我们在实现目标定位时标签该如何定义. 上图左下角给出了损失函数的计算公式(这里使用的是平方差) 如图示,加入我们需要定位出图像中是否有pedestrian,car, ...

  8. ubuntu终端执行shell脚本报command not found解决方法

    使用sudo执行脚本报错:sudo: myshell.sh: command not found 原因:发生这种情况的原因是因为您正在尝试执行的脚本需要正确的权限 解决:执行sudo chmod a+ ...

  9. 【批处理学习笔记】第十四课:常用DOS命令(4)

    系统管理at 安排在特定日期和时间运行命令和程序shutdown立即或定时关机或重启taskkill结束进程(WinXPHome版中无该命令)tasklist显示进程列表(Windows XP Hom ...

  10. Codeforces 725B Food on the Plane

    B. Food on the Plane time limit per test:2 seconds memory limit per test:256 megabytes input:standar ...