西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁(yè)西西教程數(shù)據(jù)庫(kù)教程 → 用Process Monitor來監(jiān)視SQLSERVER的logwrite大小

用Process Monitor來監(jiān)視SQLSERVER的logwrite大小

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:樺仔時(shí)間:2013/12/4 8:29:04字體大。A-A+

作者:樺仔點(diǎn)擊:14次評(píng)論:0次標(biāo)簽: 監(jiān)視

  • 類型:編程輔助大小:1.8M語(yǔ)言:英文 評(píng)分:6.0
  • 標(biāo)簽:
立即下載

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

為此我做了個(gè)試驗(yàn)(Windows 7+SQL server 2012)
 
1)我把磁盤格式化,最小分配單元為4kb
2)我把log 放到磁盤上
3) 我commit一個(gè)非常小的事務(wù)

Process Monitor(Windows監(jiān)視)
10.0
類別: 系統(tǒng)優(yōu)化    大。888KB    語(yǔ)言: 英文
查看詳細(xì)信息 >>

為了與文章中的測(cè)試環(huán)境一樣

我給出這次的數(shù)據(jù)庫(kù)所在盤符的分配單元的截圖

測(cè)試腳本:

1 USE [Northwind]
2 GO
3 CREATE TABLE t1 ( c1 INT )
4 GO
5 BEGIN TRAN
6 INSERT  INTO t1
7 VALUES  ( 1 )
8 COMMIT

我們?cè)觞N來測(cè)試呢??

第一步:首先我們當(dāng)然要打開SSMS,然后拷貝腳本進(jìn)去啦,哈哈

第二步:要找到SQLSERVER的進(jìn)程編號(hào),因?yàn)槲业臋C(jī)器安裝了SQL2005,SQL2008,SQL2012

所以需要找一下SQL2005的進(jìn)程編號(hào)是多少

第三步:打開服務(wù)管理器,我安裝SQL2005的時(shí)候使用的是默認(rèn)實(shí)例,那么找到默認(rèn)實(shí)例的SQLSERVER服務(wù),

然后看這個(gè)服務(wù)用的是哪個(gè)帳戶來登錄的

SQL2005:system

SQL2008:network service

SQL2012:MSSQL$SQL2012

第四步:打開任務(wù)管理器,看一下SQL2005對(duì)應(yīng)的是哪個(gè)進(jìn)程

找到啦,進(jìn)程編號(hào)是1736

當(dāng)然啦,如果你的電腦只安裝了一個(gè)SQLSERVER,只有一個(gè)默認(rèn)實(shí)例就不用這麼麻煩了

第五步:打開Procmon.exe

先簡(jiǎn)單介紹一下一些按鈕的作用

捕獲事件,其實(shí)這個(gè)軟件跟SQLSERVER profiler一樣,捕獲事件就相當(dāng)于“開始跟蹤”

然后下面的顯示框會(huì)一條一條的顯示事件信息,相當(dāng)于profiler里面跟蹤記錄,一條一條記錄顯示給你看

事件種類:有注冊(cè)表,文件系統(tǒng),進(jìn)程和線程,網(wǎng)絡(luò),性能

就像profiler里面的新建跟蹤,里面也有很多的事件給你選擇

第六步:因?yàn)槲疫@里只是觀察logwrite,所以只需要監(jiān)控文件系統(tǒng)就可以了,注冊(cè)表、網(wǎng)絡(luò)這幾個(gè)按鈕不用點(diǎn)擊

第七步:過濾:可以過濾的內(nèi)容比較多,我這里就選擇只顯示SQL2005進(jìn)程的內(nèi)容

確定之后就可以點(diǎn)擊OK了

捕獲和停止捕獲,還有清空顯示屏按鈕

剛才點(diǎn)擊確定之后,Procmon.exe會(huì)馬上捕獲SQLSERVER所有與文件系統(tǒng)相關(guān)操作的事件

第八步:這個(gè)時(shí)候需要先停止捕獲,然后再清空顯示屏

開始測(cè)試

測(cè)試一:

多次執(zhí)行剛才的測(cè)試腳本

1 BEGIN TRAN
2 INSERT  INTO t1
3 VALUES  ( 1 )
4 COMMIT

但是由于太多與磁盤相關(guān)的記錄了,我們?cè)觞N看跟事務(wù)日志相關(guān)的記錄呢??

我們可以使用高亮功能

添加兩個(gè)過濾條件:

operation 是writefile

path是 E:\數(shù)據(jù)庫(kù)文件2013-10-30\northwnd.ldf

符合上面兩個(gè)過濾條件的記錄都將高亮顯示

 然后你會(huì)看到符合條件的都高亮顯示了

SQL server 日志寫的最小大小都是512bytes,就是一個(gè)扇區(qū)的大小

跟文章中說的基本一樣

為什麼基本一樣,因?yàn)槲野l(fā)現(xiàn)有一條記錄是2.5MB,宋大師說:

上面那些8M和4M的磁盤寫,應(yīng)該是日志增長(zhǎng)所導(dǎo)致的,所以我覺的不能和log write混淆吧?

測(cè)試二:

我們先清空和停止捕獲事件

 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 + 1
11     END
12 CHECKPOINT
13 COMMIT
14 DELETE  FROM t2

將上面的腳本同時(shí)開2個(gè)窗口運(yùn)行

重新點(diǎn)解捕獲事件按鈕,開始捕獲事件

可以看到記錄基本上都是大于60K的大小

為什麼會(huì)這樣??

總結(jié)

其實(shí)大家可以用左鍵雙擊每條記錄,會(huì)打開一個(gè)詳細(xì)屬性對(duì)話框,里面包含了很多關(guān)于進(jìn)程信息,堆棧信息

readfile操作的調(diào)用堆棧

進(jìn)程樹

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)