$FSLOG 生成大量日誌文件。如何停止?
我正在使用 SQL Server 2012 Express Edition,但在生成大量文件時遇到問題:
C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\MyDatabaseStream_Filegroup_Data\$FSLOG\
它每分鐘生成大約 150 個文件,並在 C 驅動器上佔用大量磁碟空間。大小
MyDatabaseStream
正在快速增長並使 C 盤已滿(大約 140GB)如何停止生成這些文件?
做好備份。那些不是日誌文件——你是從哪裡得到這個想法的?
yu 基本上是在文件系統中儲存一些數據 - MyDatabaseStream_Filegroup_Data $ FSLOG\
數據庫文件流功能。如果您(a)知道您在那裡做什麼並且(b)需要它,那就太好了。
要麼備份 - 可以刪除多餘的 - 或者將其移動到另一張光碟或…. 禁用文件流儲存。
您將通過禁用 FileStream 功能來停止生成它們。
我沒有大量使用 FileStream,所以我不得不去看看它是如何工作的。我在 CSS SQL Server Engineers 部落格上看到了一篇不錯的博文。這可能會解釋為什麼會生成這些文件:
我從上面理解的要點…
此目錄中的文件是數據庫的日誌文件。但是,它們可能與您正在考慮的日誌文件類型不同。這些實際上與修改圖像的關聯事務的 LSN 號相關聯。您基本上會在修改之前生成一個文件,然後在修改後生成一個文件。
垃圾收集過程將跟上這些文件中的哪些可以被清理並且不再需要。這是 FileStream 中內置的一項功能,由 SQL Server 在內部處理。可能導致此過程啟動的方法之一是獲取
FULL
或LOG
備份數據庫。上面的文章顯示了進行備份並發布CHECKPOINT
. 您可能不會立即看到所有文件都被刪除,但您應該開始看到一些文件隨處可見。基於生成的大量文件需要注意的是增加日誌備份頻率以解決活動。最好的做法是將 SQL Server 文件與作業系統驅動器分開,這是您的情況的主要範例。