手机
当前位置:查字典教程网 >软件教程 >其他软件工具 >怎样使用Process Monitor来监视SQLSERVER的logwrite大小
怎样使用Process Monitor来监视SQLSERVER的logwrite大小
摘要:SQLserver日志写(logwrite)的最小大小是多少呢?为此我做了个试验(Windows7+SQLserver2012)1)我把磁盘...

SQL server 日志写(log write)的最小大小是多少呢?

为此我做了个试验(Windows 7+SQL server 2012)

1)我把磁盘格式化,最小分配单元为4kb

2)我把log 放到磁盘上

3) 我commit一个非常小的事务

Process Monitor v3.01 绿色汉化版下载地址:www.jb51.net/softs/32403.html

为了与文章中的测试环境一样

我给出这次的数据库所在盘符的分配单元的截图

怎样使用Process Monitor来监视SQLSERVER的logwrite大小1

怎样使用Process Monitor来监视SQLSERVER的logwrite大小2

测试脚本:

1 USE [Northwind]2 GO3 CREATE TABLE t1 ( c1 INT )4 GO5 BEGIN TRAN6 INSERT INTO t17 VALUES ( 1 )8 COMMIT

我们怎麽来测试呢??

第一步:首先我们当然要打开SSMS,然后拷贝脚本进去啦,哈哈

第二步:要找到SQLSERVER的进程编号,因为我的机器安装了SQL2005,SQL2008,SQL2012

所以需要找一下SQL2005的进程编号是多少

怎样使用Process Monitor来监视SQLSERVER的logwrite大小3

第三步:打开服务管理器,我安装SQL2005的时候使用的是默认实例,那么找到默认实例的SQLSERVER服务,

然后看这个服务用的是哪个帐户来登录的

SQL2005:system

怎样使用Process Monitor来监视SQLSERVER的logwrite大小4

SQL2008:network service

怎样使用Process Monitor来监视SQLSERVER的logwrite大小5

SQL2012:MSSQL$SQL2012

怎样使用Process Monitor来监视SQLSERVER的logwrite大小6

第四步:打开任务管理器,看一下SQL2005对应的是哪个进程

找到啦,进程编号是1736

怎样使用Process Monitor来监视SQLSERVER的logwrite大小7

当然啦,如果你的电脑只安装了一个SQLSERVER,只有一个默认实例就不用这麽麻烦了

第五步:打开Procmon.exe

先简单介绍一下一些按钮的作用

怎样使用Process Monitor来监视SQLSERVER的logwrite大小8

捕获事件,其实这个软件跟SQLSERVER profiler一样,捕获事件就相当于“开始跟踪”

然后下面的显示框会一条一条的显示事件信息,相当于profiler里面跟踪记录,一条一条记录显示给你看

怎样使用Process Monitor来监视SQLSERVER的logwrite大小9

事件种类:有注册表,文件系统,进程和线程,网络,性能

就像profiler里面的新建跟踪,里面也有很多的事件给你选择

第六步:因为我这里只是观察logwrite,所以只需要监控文件系统就可以了,注册表、网络这几个按钮不用点击

怎样使用Process Monitor来监视SQLSERVER的logwrite大小10

怎样使用Process Monitor来监视SQLSERVER的logwrite大小11

第七步:过滤:可以过滤的内容比较多,我这里就选择只显示SQL2005进程的内容

怎样使用Process Monitor来监视SQLSERVER的logwrite大小12

怎样使用Process Monitor来监视SQLSERVER的logwrite大小13

确定之后就可以点击OK了

怎样使用Process Monitor来监视SQLSERVER的logwrite大小14

怎样使用Process Monitor来监视SQLSERVER的logwrite大小15

捕获和停止捕获,还有清空显示屏按钮

怎样使用Process Monitor来监视SQLSERVER的logwrite大小16

刚才点击确定之后,Procmon.exe会马上捕获SQLSERVER所有与文件系统相关操作的事件

第八步:这个时候需要先停止捕获,然后再清空显示屏

怎样使用Process Monitor来监视SQLSERVER的logwrite大小17

开始测试

测试一:

多次执行刚才的测试脚本

1 BEGIN TRAN2 INSERT INTO t13 VALUES ( 1 )4 COMMIT

但是由于太多与磁盘相关的记录了,我们怎麽看跟事务日志相关的记录呢??

怎样使用Process Monitor来监视SQLSERVER的logwrite大小18

我们可以使用高亮功能

添加两个过滤条件:

operation是writefile

path是E:数据库文件2013-10-30northwnd.ldf

符合上面两个过滤条件的记录都将高亮显示

怎样使用Process Monitor来监视SQLSERVER的logwrite大小19

怎样使用Process Monitor来监视SQLSERVER的logwrite大小20

怎样使用Process Monitor来监视SQLSERVER的logwrite大小21

然后你会看到符合条件的都高亮显示了

怎样使用Process Monitor来监视SQLSERVER的logwrite大小22

SQL server 日志写的最小大小都是512bytes,就是一个扇区的大小

跟文章中说的基本一样

为什麽基本一样,因为我发现有一条记录是2.5MB,宋大师说:

上面那些8M和4M的磁盘写,应该是日志增长所导致的,所以我觉的不能和log write混淆吧?

怎样使用Process Monitor来监视SQLSERVER的logwrite大小23

测试二:

我们先清空和停止捕获事件

怎样使用Process Monitor来监视SQLSERVER的logwrite大小24

1 --CREATE TABLE t2 ( c1 INT, c2 CHAR(7000) ) 2 --go 3 BEGIN TRAN 4 DECLARE @i INT 5 SET @i = 0 6 WHILE ( @i < 100000 ) 7 BEGIN 8 INSERT INTO t2 9 VALUES ( @i, 'dadf' )10 SET @i = @i + 111 END12 CHECKPOINT13 COMMIT14 DELETE FROM t2

将上面的脚本同时开2个窗口运行

重新点解捕获事件按钮,开始捕获事件

怎样使用Process Monitor来监视SQLSERVER的logwrite大小25

可以看到记录基本上都是大于60K的大小

为什麽会这样??

怎样使用Process Monitor来监视SQLSERVER的logwrite大小26

总结

其实大家可以用左键双击每条记录,会打开一个详细属性对话框,里面包含了很多关于进程信息,堆栈信息

怎样使用Process Monitor来监视SQLSERVER的logwrite大小27

怎样使用Process Monitor来监视SQLSERVER的logwrite大小28

readfile操作的调用堆栈

怎样使用Process Monitor来监视SQLSERVER的logwrite大小29

怎样使用Process Monitor来监视SQLSERVER的logwrite大小30

进程树

怎样使用Process Monitor来监视SQLSERVER的logwrite大小31

【怎样使用Process Monitor来监视SQLSERVER的logwrite大小】相关文章:

修复蓝屏崩溃!NVIDIA 364.51Beta版修复驱动下载地址汇总

常用快速原型设计工具大比拼、原型设计工具哪个好用

搜狗壁纸默认分类太少如何添加格子

TeamViewer怎么进行远端控制?

rootkit的检测工具使用介绍(chkrootkit和rootkit hunter)

SPSS怎么制作单式条图?spss图表制作的详细教程

新浪页游助手1.11版本辅助工具崩溃的解决办法

UG怎么画键槽?UG使用键槽的命令的实例教程

墨迹天气电脑版关闭自动更新让其不自当更新

斗鱼tv直播怎么关闭弹幕 斗鱼tv弹幕取消方法介绍

精品推荐
分类导航