Microsoft SQL Server企业级平台管理实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 数据库空间管理

数据库是SQL Server的核心。对于一个SQL Server系统,基本上它的所有内容,包括服务配置信息,用户名、密码和权限,任务和任务调度,以及用户所定义的表格、视图、存储过程等,都保存在数据库里。数据库以数据文件和日志文件的形式保存。随着数据量和用户使用量的增加,文件的大小也会相应增加。数据库使用者必须根据SQL Server对系统数据库和用户数据库不同的使用特点,规划好数据库文件的使用策略。尽量避免物理空间不正常使用。

在数据库空间管理上,使用者经常会遇到的问题有:

1.数据文件(Data File)空间用尽。

SQL Server报告数据文件已满,因而无法存入新的数据。这时管理员须及时发现是哪些表格占用了文件空间,为什么会有这么大,以及如何快速清理空间。

2.日志文件(Log File)不停增长。

日志文件的大小在不停地变大,或者在一个很短的时间内发生了巨大的增长。管理者要了解自己的系统会在什么情况下发生日志增长现象,并采取正确的处理方法。

3.数据文件空间无法收缩。

在某些情况下,管理者须对现有的数据文件进行收缩。理论上SQL Server是支持这种行为的。可是在实际应用里,尤其是一个庞大的数据库上,有时会发生收缩数据库不起作用的情况。

4.自动增长(Auto grow)和自动收缩(Auto shrink)。

SQL Server可以设置文件自动增长和自动收缩。有些管理员会使用这两项功能。对于一个生产系统,SQL Server自动增长和自动收缩会怎样发生?设置它们要注意些什么?这里面也是有一些讲究的。

下面,我们首先从文件的分配方式和空间的检查方法入手,先找出文件里的空间是怎么被SQL Server使用掉的(1.1节)。然后,会对数据文件和日志文件使用方式作深入分析,从而解决数据文件无法收缩或清空(1.2节),以及日志文件无限增长的问题(1.3节)。最后,会讨论数据库自动增长与自动收缩设置的利弊(1.4节)。在每一节的开始,都会先介绍一些背景知识,然后再介绍遇到问题时的一些实际操作方法。

利用这一章的知识,我们将可以比较自如地分析数据库空间使用,并能够采取适当的方法管理数据库文件空间。