SQL Server管理 這些你懂嗎?
1. 數(shù)據(jù)庫文件有.mdf .ndf .ldf三種文件,mfd為主數(shù)據(jù)庫文件,ndf為從數(shù)據(jù)庫文件,ldf為日志數(shù)據(jù)庫文件,每個數(shù)據(jù)庫mdf文件只有一個,ndf文件可以有多個。
2. 數(shù)據(jù)頁大小為8k,sql數(shù)據(jù)庫***一個特性是數(shù)據(jù)無跨頁,比如一條數(shù)據(jù)3k,那么5條數(shù)據(jù)需要3頁存儲,而不是兩頁。數(shù)據(jù)庫擴展頁是8頁,也就是如果一張表存儲空間不夠了,我們要插入一條3k的數(shù)據(jù),數(shù)據(jù)庫不是分配一頁,而是8頁,也就是64k空間,這個我們windows系統(tǒng)也是,我們見一個文本文件,然后輸入一個a,那么這時候系統(tǒng)為我們文件分配的內(nèi)存不是2個字節(jié),而是1k空間。
如果一個數(shù)據(jù)頁大小只有8k,那么像txt,image這些數(shù)據(jù)怎么存儲呢?
那么我們這時系統(tǒng)存儲的是txt,image的堆地址,她們的數(shù)據(jù)存儲在堆里,那么他們地址最多不會超過8字節(jié)。
3. 數(shù)據(jù)庫內(nèi)存,我們讀取一條數(shù)據(jù)是先在內(nèi)存里找,如果內(nèi)存沒有,我們就會在數(shù)據(jù)庫里面找,然后把數(shù)據(jù)讀到內(nèi)存里面來。那么我們更新一條數(shù)據(jù)呢?
我們更新(增、刪、改)一條數(shù)據(jù)不是commit的時候數(shù)據(jù)就寫到數(shù)據(jù)庫里了,而是數(shù)據(jù)庫會有一個chekpoints,在checkpoints的時候數(shù)據(jù)庫,會一頁一頁的把數(shù)據(jù)往數(shù)據(jù)庫里寫。這個在sql2005里的時間大概是15分鐘只需一次,那么沒有交易的數(shù)據(jù)在哪里呢?那么可能存在兩個地方,一個是在temptdb里面,一個是在buffercahce里面。
4. 對大的系統(tǒng)數(shù)據(jù)庫應注意幾個問題,我們都知道數(shù)據(jù)庫瓶頸是 磁盤陣列有I/O瓶頸,如果我們數(shù)據(jù)庫超作頻繁,這樣我們數(shù)據(jù)庫日志文件增大比較快,如果我們把數(shù)據(jù)庫文件和日志文件放在一個磁盤里那么,會導致越來操作數(shù)據(jù)庫的數(shù)據(jù)越慢,那么我們可以把日志文件和數(shù)據(jù)文件放在 不同的磁盤里,一個磁盤兩個通道,如果放在不同磁盤那么寫數(shù)據(jù)和日志可以并行超作了,還有我們每天***6個小時做一次日志備份,這樣我們可以減小我們的日志文件大小,因為日志文件備份后就從日志里面刪除了。
5. 數(shù)據(jù)庫文件組的利用,如果我們數(shù)據(jù)庫設計很大,我們還可以設計數(shù)據(jù)庫文件組,把不同的數(shù)據(jù)放在不同的文件組,不同文件組放在不同磁盤,如果表大,我們還可以把一個表放在不同文件組,很多時候我們把一個表放在不同文件組,可能比放在一個文件組快,因為放在不同文件組是并行訪問的,但是放在一個文件組需要順序訪問,一般沒有必要的情況下,還是建議大家做表分區(qū)。
6. 建數(shù)據(jù)庫的時候我們需要注意,我們數(shù)據(jù)文件放在磁盤的格式fat32的允許數(shù)據(jù)庫文件***為2g如果我們建立好數(shù)據(jù)庫后再發(fā)現(xiàn)這個問題就麻煩了,要不停的加數(shù)據(jù)庫文件,所以建議放在NTFs格式磁盤上,數(shù)據(jù)庫***容量修改規(guī)則,能改大不能該小,那么有沒有把數(shù)據(jù)庫改小的辦法呢?有的壓縮數(shù)據(jù)庫。
這里我們可以壓縮數(shù)據(jù)大小。
7. 備份數(shù)據(jù)庫注意事項:
1.一定要選上下面那兩個勾,這樣保證我們備份成功。
我們備份數(shù)據(jù)庫(特別是做維護計劃的時候)的***步驟一般用
1. 檢查數(shù)據(jù)庫的完整性
2. 日志尾備份(后面我們復災的時候會講到)
3. 備份
***這幾個是有順序來自。
我們備份一周備份***是周末完整備份,1-5差異備份,6小時做一次日志備份
8. 數(shù)據(jù)庫性能監(jiān)視打開方法:
比如我們監(jiān)視應用程序引起的sqlserver死鎖 添加監(jiān)視:
我們可以看到如下:
都是0誒沒有死鎖,那么證明我們系統(tǒng)很健康啊。。。,但是監(jiān)視一般是在服務器閑的時候監(jiān)視,因為這個也是占用資源的。
有錯誤的地方歡迎大家拍磚,希望交流和共享。
原文鏈接:http://www.cnblogs.com/MR_ke/archive/2011/06/12/2078891.html
【編輯推薦】