
- 類型:編程輔助大。1.8M語言:英文 評分:6.0
- 標(biāo)簽:
SQL server 日志寫(log write)的最小大小是多少呢?
為此我做了個試驗(yàn)(Windows 7+SQL server 2012)
1)我把磁盤格式化,最小分配單元為4kb
2)我把log 放到磁盤上
3) 我commit一個非常小的事務(wù)
為了與文章中的測試環(huán)境一樣
我給出這次的數(shù)據(jù)庫所在盤符的分配單元的截圖
測試腳本:
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
我們怎麼來測試呢??
第一步:首先我們當(dāng)然要打開SSMS,然后拷貝腳本進(jìn)去啦,哈哈
第二步:要找到SQLSERVER的進(jìn)程編號,因?yàn)槲业臋C(jī)器安裝了SQL2005,SQL2008,SQL2012
所以需要找一下SQL2005的進(jìn)程編號是多少
第三步:打開服務(wù)管理器,我安裝SQL2005的時(shí)候使用的是默認(rèn)實(shí)例,那么找到默認(rèn)實(shí)例的SQLSERVER服務(wù),
然后看這個服務(wù)用的是哪個帳戶來登錄的
SQL2005:system
SQL2008:network service
SQL2012:MSSQL$SQL2012
第四步:打開任務(wù)管理器,看一下SQL2005對應(yīng)的是哪個進(jìn)程
找到啦,進(jìn)程編號是1736
當(dāng)然啦,如果你的電腦只安裝了一個SQLSERVER,只有一個默認(rèn)實(shí)例就不用這麼麻煩了
第五步:打開Procmon.exe
先簡單介紹一下一些按鈕的作用
捕獲事件,其實(shí)這個軟件跟SQLSERVER profiler一樣,捕獲事件就相當(dāng)于“開始跟蹤”
然后下面的顯示框會一條一條的顯示事件信息,相當(dāng)于profiler里面跟蹤記錄,一條一條記錄顯示給你看
事件種類:有注冊表,文件系統(tǒng),進(jìn)程和線程,網(wǎng)絡(luò),性能
就像profiler里面的新建跟蹤,里面也有很多的事件給你選擇
第六步:因?yàn)槲疫@里只是觀察logwrite,所以只需要監(jiān)控文件系統(tǒng)就可以了,注冊表、網(wǎng)絡(luò)這幾個按鈕不用點(diǎn)擊
第七步:過濾:可以過濾的內(nèi)容比較多,我這里就選擇只顯示SQL2005進(jìn)程的內(nèi)容
確定之后就可以點(diǎn)擊OK了
捕獲和停止捕獲,還有清空顯示屏按鈕
剛才點(diǎn)擊確定之后,Procmon.exe會馬上捕獲SQLSERVER所有與文件系統(tǒng)相關(guān)操作的事件
第八步:這個時(shí)候需要先停止捕獲,然后再清空顯示屏
開始測試
測試一:
多次執(zhí)行剛才的測試腳本
1 BEGIN TRAN 2 INSERT INTO t1 3 VALUES ( 1 ) 4 COMMIT
但是由于太多與磁盤相關(guān)的記錄了,我們怎麼看跟事務(wù)日志相關(guān)的記錄呢??
我們可以使用高亮功能
添加兩個過濾條件:
operation 是writefile
path是 E:\數(shù)據(jù)庫文件2013-10-30\northwnd.ldf
符合上面兩個過濾條件的記錄都將高亮顯示
然后你會看到符合條件的都高亮顯示了
SQL server 日志寫的最小大小都是512bytes,就是一個扇區(qū)的大小
跟文章中說的基本一樣
為什麼基本一樣,因?yàn)槲野l(fā)現(xiàn)有一條記錄是2.5MB,宋大師說:
上面那些8M和4M的磁盤寫,應(yīng)該是日志增長所導(dǎo)致的,所以我覺的不能和log write混淆吧?
測試二:
我們先清空和停止捕獲事件
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個窗口運(yùn)行
重新點(diǎn)解捕獲事件按鈕,開始捕獲事件
可以看到記錄基本上都是大于60K的大小
為什麼會這樣??
總結(jié)
其實(shí)大家可以用左鍵雙擊每條記錄,會打開一個詳細(xì)屬性對話框,里面包含了很多關(guān)于進(jìn)程信息,堆棧信息
readfile操作的調(diào)用堆棧
進(jìn)程樹