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將以迴圈演算法增長這些資料檔案。