默認(rèn)情況下,SQL Server 允許數(shù)據(jù)文件根據(jù)需要盡可能地增長(zhǎng),直到磁盤(pán)空間用完為止。因此,如果數(shù)據(jù)庫(kù)文件不允許增長(zhǎng)到大于創(chuàng)建時(shí)的初始值,就必須使用 SQL Server 企業(yè)管理器或 CREATE DATABASE 語(yǔ)句在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定。
另外,SQL Server 允許創(chuàng)建在數(shù)據(jù)填滿(mǎn)時(shí)自動(dòng)增長(zhǎng)的數(shù)據(jù)文件,但僅能增長(zhǎng)到預(yù)定義的最大值。這可以防止完全耗盡磁盤(pán)驅(qū)動(dòng)器的空間。
建議
在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),請(qǐng)根據(jù)數(shù)據(jù)庫(kù)中預(yù)期的最大數(shù)據(jù)量,創(chuàng)建盡可能大的數(shù)據(jù)文件。允許數(shù)據(jù)文件自動(dòng)增長(zhǎng),但要有一定的限度,為此需指定數(shù)據(jù)文件增長(zhǎng)的最大值,以便在硬盤(pán)上留出一些可用空間。這樣,當(dāng)添加的數(shù)據(jù)多于預(yù)期值時(shí)允許數(shù)據(jù)庫(kù)增長(zhǎng),但不會(huì)填滿(mǎn)磁盤(pán)驅(qū)動(dòng)器。如果超過(guò)了數(shù)據(jù)文件初始值,而且文件開(kāi)始自動(dòng)增長(zhǎng),那么請(qǐng)重新評(píng)估預(yù)期的數(shù)據(jù)庫(kù)最大值,并通過(guò)在必要時(shí)添加更多的磁盤(pán)空間、在數(shù)據(jù)庫(kù)中創(chuàng)建并添加更多的文件或文件組的方法,作出相應(yīng)的計(jì)劃。
然而,如果假定不使數(shù)據(jù)庫(kù)增長(zhǎng)到超過(guò)其初始值,請(qǐng)將數(shù)據(jù)庫(kù)增長(zhǎng)的最大值設(shè)置為零。這將防止數(shù)據(jù)庫(kù)文件增長(zhǎng)。如果數(shù)據(jù)庫(kù)文件已填滿(mǎn)數(shù)據(jù),那么只有為數(shù)據(jù)庫(kù)添加更多的數(shù)據(jù)文件或擴(kuò)展現(xiàn)有的文件后,才能添加更多的數(shù)據(jù)。
文件碎片
如果大量的文件共享同一磁盤(pán),允許文件自動(dòng)增長(zhǎng)可能會(huì)使這些文件產(chǎn)生碎片。因此,建議在盡可能多的不同可用本地物理磁盤(pán)上創(chuàng)建文件或文件組。將爭(zhēng)奪空間最激烈的對(duì)象置于不同的文件組中。