怎么查看sql server日志中的内容
2011-06-26 16:27
441 查看
通过如下脚本检查数据库日志中信息:首先,我们在假设有个测试数据库test,然后在里面创建一个只有一个int类型字段的表格。然后将数据库日志文件清空。接着运行DBCC Log命令。找到这时日志文件的最后一条记录。
通过自己的测试,你可以发现insert记录3条记录,而update记录6条记录。通过相关查询发现sql server日志记录有如下特点:
(1)日志记录的数据变化,而不是记录用户发过来的操作;
(2)每条记录都有它为一的编号(LSN),并且记录了它属于的事务号。
(3)日志记录的行数和实际修改的数据量有关。
(4)日志记录了事务发生的时间,但是不保证记录下了发起这个事务的用户名,更不记录发起者的程序名称。
(5)sql server能够从日志记录里面读到数据修改前和修改后的值,但是对管理员来讲,直接从日志记录里面是很难了解其修改过程的。
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能够从日志记录里面读到数据修改前和修改后的值,但是对管理员来讲,直接从日志记录里面是很难了解其修改过程的。
相关文章推荐
- 用sql语句查看SQL Server 数据库的事务日志
- SQL Server 无法生成 FRunCM 线程。请查看 SQL Server 错误日志和 Windows 事件日志(转)
- (转)linux查看日志文件内容命令tail、cat、tac、head、echo
- 502 Bad Gateway(Nginx) 查看nginx日志有如下内容
- logcat命令使用方法和查看android系统日志缓冲区内容的方法
- linux查看日志文件内容命令tail、cat、tac、head、echo
- 查看SQL Server日志的方法
- 用 logcat 命令来查看 android 系统日志缓冲区的内容
- Sql Server 查看所有存储过程或视图的位置及内容
- mysql查看binlog日志内容
- linux查看日志文件内容命令tail、cat、tac、head、echo
- 怎么查看SQL SERVER 2000是否打过SP4的补丁
- Win8怎么查看系统事件日志|Win8查看系统日志的方法
- sql server 日志查看SPID对应主机名
- SQL Server 中怎么查看一个字母的ascii编码或者Unicode编码
- 在VS2008查看某一块内存内容,怎么打开memory窗口——学习中的一点小进步
- SQL Server 服务无法启动。有关详细信息,请参阅 SQL Server 联机丛书中的主题“如何查看 SQL Server 2005 安装日志文件”和“手动启动 SQL Server”
- SQL Server事务日志查看、压缩日志及数据库文件小结
- Beyond Compare怎么查看合并文本后相同内容
- mysql查看binlog日志内容