手机版

用进程监视器监视SQLSERVER的日志写大小

时间:2021-08-01 来源:互联网 编辑:宝哥软件园 浏览:

类型:编程助手大小:1.8M语言:英语评分:6.0标签:SQL server日志立即写入的最小大小是多少?

为此,我做了一个实验(Windows 7 SQL Server 2012)。1)我格式化了磁盘,最小分配单位是4kb2)我将日志放在磁盘上。3)我做了一笔非常小的交易

Process  Monitor(Windows监视)

进程监视器v3.20绿色英语版本分数:10.0类别:系统优化大小:888KB语言:英语查看详细信息

为了与本文中的测试环境相同,

我给出了这次数据库所在的驱动器号的分配单元的截图

测试脚本:

1使用[northwind] 2 go3创建表t1 (c1int) 4 go5开始tran 6插入t17值(1) 8提交我们如何测试?

第一步:首先当然要打开SSMS,然后把剧本抄进去,哈哈

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

所以你需要找出SQL2005的进程号

第三步:打开服务管理器。当我安装SQL2005时,我使用了默认实例,所以我找到了默认实例的SQLSERVER服务。

然后查看该服务使用哪个帐户登录

SQL2005:系统

SQL2008:网络服务

SQL2012:MSSQL$SQL2012

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

我找到了。进程号是1736

当然,如果您的计算机只安装了一个SQLSERVER,那么只有一个默认实例就不会那么麻烦了

第五步:打开Procmon.exe

让我们简单介绍一下一些按钮的功能

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

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

事件类型:注册表、文件系统、进程和线程、网络、性能

就像profiler中的新跟踪一样,也有许多事件可供您选择

第六步:因为这里只观察logwrite,所以只需要监控文件系统,不需要点击注册表和网络的按钮

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

确认后,您可以单击“确定”

捕获和停止捕获,并清除显示按钮

在刚才单击确定之后,Procmon.exe将立即捕获与SQLSERVER的文件系统操作相关的所有事件

步骤8:此时,您需要停止捕获,然后清空显示屏

开始测试

测试一:

多次执行测试脚本

1begin tran 2插入t13值(1) 4commit但是由于与磁盘相关的记录太多,我们如何看待与事务日志相关的记录?

我们可以使用高亮功能

添加两个过滤条件:

操作是写文件

路径是E:\数据库文件2013-10-30 \ northwnd.ldf。

满足上述两个过滤标准的记录将被突出显示

然后,您将看到所有符合条件的都被突出显示

SQL server日志写入的最小大小是512字节,这是一个扇区的大小

和文章里说的基本一致

为什么基本一样,因为我发现有2.5MB的记录,宋师傅说:

上面的8M和4M磁盘写入应该是日志增长导致的,所以我觉得不能和日志写入混为一谈?

测试2:

让我们先清除并停止捕获事件

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 end 12检查点13 commit 14 delete from T2同时在两个窗口中运行上述脚本

再次单击捕获事件按钮开始捕获事件

可以看出,记录的大小基本上都大于60K

为什么会这样?

摘要

事实上,您可以用左键双击每个记录,这将打开一个详细的属性对话框,其中包含大量的过程信息和堆栈信息

读取文件操作的调用堆栈

过程树

版权声明:用进程监视器监视SQLSERVER的日志写大小是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐