SQL Server 2000数据库文件组织形式

** 一、数据文件类型: **

每个 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帮助文件

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus