程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2000數據庫文件組織形式

SQL Server 2000數據庫文件組織形式

編輯:關於SqlServer

一、數據文件類型:

每個SQL Server 2000數據庫都有一個主數據文件,可以有多個輔數據文件,後者只能供該數據庫使用。

二、數據文件命名:

每個數據文件都是一個獨立的操作系統文件。主數據文件通常以.mdf為文件後綴(該後綴不是必須的,但對於文件的識別比較有用)。主數據文件將數據存儲在表格或索引中,它包含數據庫的啟動信息。它還包含一些系統表格,這些表格記載數據庫中的對象,如數據庫中所有的其它文件(輔數據文件和事務處理日志文件)的位置信息。

每個輔助數據文件通常都以.ndf為文件後綴(該後綴也不是必須的)。輔數據文件主要在一個數據庫跨多個硬盤驅動器時使用。

每個數據文件(主文件和輔文件)都有一個邏輯文件名,在transact_sql語句中使用,以及一個物理文件名,供Windows操作系統使用。邏輯文件名必須對於特定的數據庫都是唯一的,並且必須遵守sqlserver的標識符規則。

三、數據文件存儲:

SQL Server 2000將所有的數據庫記錄在兩個位置上:主數據庫和該數據庫的主文件。很多時候,數據庫引擎使用在主數據庫中找到的文件位置信息。當然也有例外,比如,當您執行的某些操作,使得數據庫引擎使用主文件位置信息,初始化主數據庫中的文件位置輸入,就是個特例。這些操作正從SQL Server 7.0升級到SQL Server 2000,恢復主數據庫,並使用sp_attach_db系統存儲過程將一個數據庫添加到SQL Server 2000中。

四、數據文件空間分配:

在SQL Server 2000的表格或索引中存儲信息之前,必須在一個數據文件內部分配一些自由空間給那個對象。分配給表格和索引的自由空間的每個單位稱為“擴展盤區”(extent)。一個擴展盤區為64kb,由8個連續的頁面組成,每個頁為8k。共有兩種類型的擴展盤區:混合擴展盤區和統一擴展盤區。

每次創建一個新表格或索引時,SQL Server 2000尋找一個帶自由空間的混合擴展盤區,然後將該自由頁分配給該新建對象。一個頁面只包含一個對象的數據。當某個對象需要額外的空間時,SQL Server 2000將混合擴展盤區中的自由空間分配給該對象,直到它一共使用了8個頁面為止。在這以後,SQL Server 2000分配一個統一擴展盤區給那個對象。如果所有的數據文件上都沒有自由空間,且啟動了“自動增長”選項的話,那麼SQL Server 2000將以循環算法增長這些數據文件。

            參考sqlserver2000幫助文件

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