SQL Server 数据库文件存放在何处
高效数据库系统是数据库良好物理和逻辑设计的产品。充分理解数据库系统设计之前,必须对数据库服务器使用的文件有深刻理解,并且对文件配置的硬件也应有很好理解。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文件的位置很重要。很多时候,你忽略的小事情常常让你陷入困境。例如:我碰到过一个这样的情形,系统的文件经过了仔细周详的考虑并且存放恰当,但是,保存文件的磁盘驱动器太小,磁盘写满后,系统的事务处理则进行不了。如果没有意识到磁盘已满,此时你可能还以为碰上了大麻烦。
对于数据文件的存放位置,应仔细考虑它应存放在什么地方,并且还应考虑文件利用何种类型的磁盘空间。考虑的事情越多,成功的机率则越大。
Tim Chapman是位 SQL Server数据库管理员,在路易斯维尔(Louisville)的一家银行工作,拥有7年的IT工作经验。