程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQL Server管理 這些你懂嗎?

SQL Server管理 這些你懂嗎?

編輯:更多數據庫知識

  SQL Server管理,你做得好嗎?下文這些可能會對你的工作有一些幫助,不妨耐心的看看吧。

  1. 數據庫文件有.mdf .ndf .ldf三種文件,mfd為主數據庫文件,ndf為從數據庫文件,ldf為日志數據庫文件,每個數據庫mdf文件只有一個,ndf文件可以有多個。

  2. 數據頁大小為8k,sql數據庫最大一個特性是數據無跨頁,比如一條數據3k,那麼5條數據需要3頁存儲,而不是兩頁。數據庫擴展頁是8頁,也就是如果一 張表存儲空間不夠了,我們要插入一條3k的數據,數據庫不是分配一頁,而是8頁,也就是64k空間,這個我們windows系統也是,我們見一個文本文 件,然後輸入一個a,那麼這時候系統為我們文件分配的內存不是2個字節,而是1k空間。

  如果一個數據頁大小只有8k,那麼像txt,image這些數據怎麼存儲呢?

  那麼我們這時系統存儲的是txt,image的堆地址,她們的數據存儲在堆裡,那麼他們地址最多不會超過8字節。

  3. 數據庫內存,我們讀取一條數據是先在內存裡找,如果內存沒有,我們就會在數據庫裡面找,然後把數據讀到內存裡面來。那麼我們更新一條數據呢?

  我們更新(增、刪、改)一條數據不是commit的時候數據就寫到數據庫裡了,而是數據庫會有一個chekpoints,在 checkpoints的時候數據庫,會一頁一頁的把數據往數據庫裡寫。這個在sql2005裡的時間大概是15分鐘只需一次,那麼沒有交易的數據在哪裡 呢?那麼可能存在兩個地方,一個是在temptdb裡面,一個是在buffercahce裡面。

  4. 對大的系統數據庫應注意幾個問題,我們都知道數據庫瓶頸是 磁盤陣列有I/O瓶頸,如果我們數據庫超作頻繁,這樣我們數據庫日志文件增大比較快,如果我們把數據庫文件和日志文件放在一個磁盤裡那麼,會導致越來操作 數據庫的數據越慢,那麼我們可以把日志文件和數據文件放在 不同的磁盤裡,一個磁盤兩個通道,如果放在不同磁盤那麼寫數據和日志可以並行超作了,還有我們每天最好6個小時做一次日志備份,這樣我們可以減小我們的日 志文件大小,因為日志文件備份後就從日志裡面刪除了。

  5. 數據庫文件組的利用,如果我們數據庫設計很大,我們還可以設計數據庫文件組,把不同的數據放在不同的文件組,不同文件組放在不同磁盤,如果表大,我們還可 以把一個表放在不同文件組,很多時候我們把一個表放在不同文件組,可能比放在一個文件組快,因為放在不同文件組是並行訪問的,但是放在一個文件組需要順序 訪問,一般沒有必要的情況下,還是建議大家做表分區。

  6. 建數據庫的時候我們需要注意,我們數據文件放在磁盤的格式fat32的允許數據庫文件最大為2g如果我們建立好數據庫後再發現這個問題就麻煩了,要不停的 加數據庫文件,所以建議放在NTFs格式磁盤上,數據庫最大容量修改規則,能改大不能該小,那麼有沒有把數據庫改小的辦法呢?有的壓縮數據庫。

  這裡我們可以壓縮數據大小。

  7. 備份數據庫注意事項:

  1.一定要選上下面那兩個勾,這樣保證我們備份成功。

  我們備份數據庫(特別是做維護計劃的時候)的最好步驟一般用

  1. 檢查數據庫的完整性

  2. 日志尾備份(後面我們復災的時候會講到)

  3. 備份

  最好這幾個是有順序來自。

  我們備份一周備份最好是周末完整備份,1-5差異備份,6小時做一次日志備份

  8. 數據庫性能監視打開方法:

  比如我們監視應用程序引起的sqlserver死鎖 添加監視:

  我們可以看到如下:

  都是0诶沒有死鎖,那麼證明我們系統很健康啊。。。,但是監視一般是在服務器閒的時候監視,因為這個也是占用資源的。

  有錯誤的地方歡迎大家拍磚,希望交流和共享。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved