資料磁碟空間不足的疑難排解

在復原期間,SQL Server Database Engine 的資料檔可能會需要額外的磁碟空間。當作業缺乏足夠的磁碟空間時,Database Engine 會發出 1101 或 1105 的錯誤 (視它是無法為範圍或物件配置空間而定)。如果磁碟是資料庫在線上時填滿,資料庫仍然保持在線上,但是不能插入資料。如果磁碟是在復原期間填滿,則 Database Engine 會將資料庫標示為「資源暫止」。不論是哪一種情況,使用者都必須採取動作,以提供足夠的磁碟空間。

解決空間問題

下列其中一項動作可能可以提供磁碟空間供檔案群組使用:

  • 釋放已滿磁碟上的磁碟空間。

  • 將資料檔移到其他磁碟。

  • 將檔案加入不同的磁碟。

  • 啟用自動成長。

[!附註]

如果錯誤是在資料庫復原期間發生,就必須在解決問題後復原資料庫。

釋放已滿磁碟上的磁碟空間

  • 在包含錯誤訊息所提及檔案群組中之檔案的磁碟上,卸除任何不需要的索引或是資料表以釋放磁碟空間。釋放磁碟空間將允許檔案群組中的檔案得以成長。

將資料檔移到其他磁碟

將檔案加入不同的磁碟 (Transact-SQL)

  • 透過使用 ALTER DATABASE <database_name> ADD FILE TO FILEGROUP <filegroup_name>,將更多的檔案加入不同磁碟的檔案群組中。

[!附註]

如需詳細資訊,請參閱<加入和刪除資料與交易記錄檔>。

將檔案加入不同的磁碟 (SQL Server Management Studio)

增加檔案大小

如果已停用自動成長、資料庫在線上,而且磁碟上有足夠的可用空間,請執行下列其中一項動作:

  • 手動增加檔案大小以產生單一成長遞增。

  • 使用 ALTER DATABASE 陳述式來為 FILEGROWTH 選項設定非零成長遞增,以啟用自動成長。

[!附註]

無論是哪一種情況,如果已達到目前的大小限制,都需增加 MAXSIZE 值。

復原資料庫

如果資料庫是在復原期間用完磁碟空間,請使用 ALTER DATABASE <database_name> SET ONLINE 來復原資料庫。