Sql-Server

自動增長設置高於可用磁碟

  • December 3, 2019

首先,我們所有的自動增長設置要麼關閉,要麼文件大小設置為最大自動增長大小。我想和我在設置後進來的區別一樣。

雖然我從來沒有遇到過這個問題,但我一直在尋找可能出現的情況的答案:我需要我的文件增長一點點,比如 100 MB 才能進行插入。但是我的自動增長設置為 500MB。該磁碟有 450 MB 可用空間。在那種情況下會發生什麼。只是說這個插入在晚上偶爾發生一次,所以我不知道它會發生,所以我不能或沒有預先增長文件。

我真的很好奇 sql server 將如何處理這個問題。

SQL Server 將處理此中止事務並引發以下錯誤:

錯誤資訊

我從一個測試中得到了這條消息,我設計了一個與你描述的足夠接近的場景:

數據庫定義

我將數據庫MyDB放在一個 100MB 大小的小磁碟中。表中的插入dbo.TextTable工作正常,直到文件需要增長(500MB)以容納更多數據,但由於磁碟空間不足而失敗。

微軟這樣說

自動增長設置不能使數據庫大小超過為其定義文件的驅動器上可用磁碟空間的限制。因此,如果您依靠自動增長功能來調整數據庫大小,您仍必須獨立檢查可用硬碟空間。自動增長設置還受您為每個文件選擇的 MAXSIZE 參數的限制。為了減少空間不足的可能性,您可以監視性能監視器計數器 SQL Server:數據庫對象:數據文件大小 (KB),並在數據庫達到特定大小時設置警報。

引用自:https://dba.stackexchange.com/questions/254577