SQL Server的数据更新跟踪测试
最近一个项目中需要监测SQLServer数据库中某些表的数据更新情况,于是做了一番POC测试和简单性能的评估.这里使用的是 SQLServer2008的更改跟踪.因为需求原因,没有考虑使用进一步的变更数据捕获.
测试内容在blog中
http://blog.csdn.net/jinjazz/archive/2010/04/17/5495955.aspx
大致脚本如下:

其中,测试脚本中函数 CHANGETABLE 的第二个参数 0 代表查询开始的事物操作序列,这三条数据分别表示两个插入( I )和一个删除( D )操作并且用主键 ID 标识出来。
测试内容在blog中
http://blog.csdn.net/jinjazz/archive/2010/04/17/5495955.aspx
大致脚本如下:
Use master
go
/***
1 、建立测试环境:生成一个带主键的测试表 T_Trace
*/
if ( DB_ID ( 'db_Trace_test' ) is not null ) drop database db_Trace_test
go
Create DataBase db_Trace_test
go
use db_Trace_test
go
Create Table T_Trace ( id int not null , name varchar ( 100 )
CONSTRAINT [ PK_T_Trace ] PRIMARY KEY CLUSTERED ( [ id ] ASC )
)
go
/***
2 、配置数据库和表的更改跟踪参数
*/
ALTER DATABASE db_Trace_test SET
CHANGE_TRACKING = ON (
AUTO_CLEANUP = ON , -- 打开自动清理选项
CHANGE_RETENTION = 1 HOURS -- 数据保存期为时
);
ALTER TABLE dbo . T_Trace ENABLE CHANGE_TRACKING
go
/***
3 、向表中增加修改删除数据
*/
insert into T_Trace values ( 1 , ' 上海 ' ),( 2 , ' 北京 ' ),( 3 , ' 广州 ' )
delete from T_Trace where id = 3
update T_Trace set name = ' 天津 ' where id = 1
/***
4 、获取更改过的数据
*/
SELECT
CHG . Sys_Change_Version as 序列 , id as 主键 , Sys_change_Operation as 操作
FROM CHANGETABLE ( CHANGES dbo . T_Trace , 0 ) CHG
order by CHG . Sys_Change_Version
/*

其中,测试脚本中函数 CHANGETABLE 的第二个参数 0 代表查询开始的事物操作序列,这三条数据分别表示两个插入( I )和一个删除( D )操作并且用主键 ID 标识出来。
...全文
相关推荐
sql server deadlock跟踪的4种实现方法
一提到跟踪俩字,很多人想到警匪片中的场景,但这里介绍的可不是一样的哦,下面这篇文章主要给大家介绍了关于sql server deadlock跟踪的4种实现方法,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下
SQL Server测试题3份
SQL Server 2005 测试题3份
SqlTestUsers:测试Sql Server的工作负载应用程序-开源
SqlTestUsers使数据库管理员,开发人员和测试人员可以更轻松地在服务器上进行测试工作负载。 它是用C#开发的。
SQL Server日志恢复工具
一个很好的日志恢复工具,还可以审计数据的变化,支持(SQL server 2000 和SQL Server 2005)
银行储蓄系统 Sql server 与Vb
用SQL数据库和VB做的银行储蓄系统,适用于期末考试的课程设计,欢迎大家来看看哦


非技术版
