扩展数据库
默认情况下,SQL Server 可根据创建数据库时定义的增长参数自动扩展数据库。您也可以通过为现有数据库文件分配更多空间,或者创建新文件来手动扩展数据库。如果现有的文件已满,则可能需要扩展数据或事务日志的空间。如果数据库已经用完分配给它的空间且不能自动增长,则会出现 1105 错误。如果未将数据库设置为自动增长或硬盘上没有足够的磁盘空间,则会出现此错误。
扩展数据库时,必须使数据库的大小至少增加 1 MB。如果扩展了数据库,则根据被扩展的文件,数据文件或事务日志文件将可以立即使用新空间。扩展数据库时,应指定允许文件增长到的最大大小。这样可防止文件无限制地增大,以致于用尽整个磁盘空间。当使用 SQL Server Management Studio 中的**“属性”**对话框扩展数据库时,若要指定文件的最大大小,可以使用 ALTER DATABASE 语句的 MAXSIZE 参数或使用“将文件增长限制为 (MB)”选项。按照相同的过程展开数据库以增大事务日志的空间。
如果事务日志没有设置为自动扩展,则当数据库内发生某些类型的活动时,该事务日志可能会用完所有空间。例如,如果将数据库恢复模式设置为 FULL,则执行大规模大容量操作(如大容量导入或索引创建)可能会导致迅速填满事务日志。除了扩展事务日志大小之外,还可以截断日志文件。截断日志可清除不活动的文件、已提交的文件和事务,并允许 SQL Server 数据库引擎重用事务日志的未使用部分。截断日志的方式和时间取决于数据库的恢复模式。有关截断事务日志的详细信息,请参阅 事务日志截断。
扩展 tempdb
默认情况下,在需要空间时 tempdb 数据库会自动增长,因为文件的 MAXSIZE 设置为 UNLIMITED。因此,tempdb 可以一直增长,直至用完包含 tempdb 的磁盘上的所有空间。
您可以通过设置 tempdb 的 MAXSIZE 来阻止 tempdb 无限制地增长,但是建议不要这样做。限制 tempdb 的大小可能会导致数据库磁盘空间不足。这将在生产环境中导致严重中断,并会阻止正在运行的应用程序完成操作。如果 tempdb 已经设置为 MAXSIZE,同时您希望增大 tempdb 的大小,则必须执行下列操作之一:
增加 tempdb 当前使用的默认文件组中文件的大小。
向默认文件组中添加新文件。
允许 tempdb 使用的文件自动增长。
重要提示 tempdb 不能包含用户定义文件组。
有关详细信息,请参阅 tempdb 数据库。
增加数据库的大小
更改数据库的物理位置