您的位置:首页 > 数据库

怎么查看sql server日志中的内容

2011-06-26 16:27 441 查看
通过如下脚本检查数据库日志中信息:首先,我们在假设有个测试数据库test,然后在里面创建一个只有一个int类型字段的表格。然后将数据库日志文件清空。接着运行DBCC Log命令。找到这时日志文件的最后一条记录。

use test
go
create table a (a int)
go
checkpoint
go
backup log test with truncate_only
go
dbcc log(5,3)
-- 5是test数据库的编号,每个SQL Server可能不同 可以用sp_helpdb来查到数据库编号
go
--接着,我们在表格里插入一条记录。
insert into a values (1)
go
dbcc log(5,3)
go
--我们再插一条记录。
insert into a values (100)
go
dbcc log(5,3)
go
--可以看到新的三条记录(图1-27)。新的记录有不同的LSN编号。
update a set a = 2
go
 

通过自己的测试,你可以发现insert记录3条记录,而update记录6条记录。通过相关查询发现sql server日志记录有如下特点:
(1)日志记录的数据变化,而不是记录用户发过来的操作;
(2)每条记录都有它为一的编号(LSN),并且记录了它属于的事务号。
(3)日志记录的行数和实际修改的数据量有关。
(4)日志记录了事务发生的时间,但是不保证记录下了发起这个事务的用户名,更不记录发起者的程序名称。
(5)sql server能够从日志记录里面读到数据修改前和修改后的值,但是对管理员来讲,直接从日志记录里面是很难了解其修改过程的。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息