Logs

$FSLOG 生成大量日誌文件。如何停止?

  • October 22, 2013

我正在使用 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 在內部處理。可能導致此過程啟動的方法之一是獲取FULLLOG備份數據庫。上面的文章顯示了進行備份並發布CHECKPOINT. 您可能不會立即看到所有文件都被刪除,但您應該開始看到一些文件隨處可見。

基於生成的大量文件需要注意的是增加日誌備份頻率以解決活動。最好的做法是將 SQL Server 文件與作業系統驅動器分開,這是您的情況的主要範例。

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