程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 掌握數據庫服務器使用文件的必要性

掌握數據庫服務器使用文件的必要性

編輯:關於SqlServer

充分理解數據庫系統設計之前,必須對數據庫服務器使用的文件有深刻理解,並且對文件配置的硬件也應有很好理解。SQL Sever數據庫引擎使用兩種類型的文件:data文件和Log文件。下面是這兩種文件類型的說明:

1.Data文件存儲引擎需要的內部數據,以及數據庫中用戶定義的數據。數據庫引擎有默認的數據文件,並且可以添加其它數據文件。

2.Log文件用於存儲數據的修改信息,並且它在數據庫的事務提交處理和回滾處理過程中有很重要的作用。因為log文件是“只寫”(除非使用事務復制)文件,所以將它存放在高效的磁盤驅動器上是很重要的。RAID 1+0驅動器陣列在此情況下有最高效率。

數據庫文件應當存放在哪兒?

數據庫文件的存放位置對於SQL Sever的效率是至關重要的。安裝SQL時,已經為數據庫和事務log文件指定了路徑。一般規則,你不希望使用此路徑。為了找到指定數據庫的數據文件和事務log文件,可以執行下面的查詢語句:SELECT * FROM sysfiles如果可能,你希望將數據文件和事務log文件存放到RAID磁盤陣列中,此時能提供數據冗余,即使在磁盤失效的情況下,也不會丟失數據。RAID陣列通過數據拆分、數據鏡像和數據組合提供數據冗余。如果一個磁盤陣列失效,則會想到在分開的物理驅動器上保存數據文件和事務log文件。這樣做的原因是:如果將數據文件和事務log文件共享一個磁盤,則在磁盤損壞情況下,不能通過恢復事務log文件覆蓋數據庫。而且,一個磁盤保存兩種不同類型的文件,系統IO負擔很重,因為在兩種文件類型中有很多讀/寫的資源爭奪:數據文件一直不停地在OLTP環境中進行讀出、寫入操作;而此時,事務log文件以連續方式寫入。

其它需要考慮的事項:

數據庫系統的數據文件和事務log文件的位置很重要。很多時候,你忽略的小事情常常讓你陷入困境。例如:我碰到過一個這樣的情形,系統的文件經過了仔細周詳的考慮並且存放恰當,但是,保存文件的磁盤驅動器太小,磁盤寫滿後,系統的事務處理則進行不了。如果沒有意識到磁盤已滿,此時你可能還以為碰上了大麻煩。

對於數據文件的存放位置,應仔細考慮它應存放在什麼地方,並且還應考慮文件利用何種類型的磁盤空間。

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