天天看點

Sqlserver filestream 引發檔案數劇增

如果不使用checkpoint,檔案數會劇增

參考:https://docs.microsoft.com/zh-cn/sql/relational-databases/logs/database-checkpoints-sql-server?view=sql-server-2017

檔案還沒有計算完,已經上億了

在開發機上,先清空資料,確定檔案流的目錄下沒有檔案

@@@code

TRUNCATE

TABLE dbo.Position

CHECKPOINT

@@#

然後嘗試插入資料

INSERT dbo.Position

(

ID,

HourBand,

Data

)

VALUES

(NEWID(), 1, sharedb.[dbo].[f_gbk2Bin]('aa', 2));

隻有一個檔案,很正常

修改資料,但實際内容并未修改,

UPDATE dbo.Position SET

Data=sharedb.[dbo].[f_gbk2Bin]('aa',2)

多出了一個檔案

再進行一次無效插入

結果又多了一個檔案

檔案如下:

換一種思路

先重複三次更新,出現4個檔案,再執行一次checkpoint,大約10秒後多餘檔案消失