Sqlserver filestream 引发文件数剧增

Posted qinqoushui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlserver filestream 引发文件数剧增相关的知识,希望对你有一定的参考价值。

如果不使用checkpoint,文件数会剧增

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

?

?

文件还没有计算完,已经上亿了

?

在开发机上,先清空数据,确保文件流的目录下没有文件

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)

多出了一个文件

再进行一次无效插入

INSERT dbo.Position

(

ID,

HourBand,

Data

)

VALUES

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

结果又多了一个文件

文件如下:

?

换一种思路

先重复三次更新,出现4个文件,再执行一次checkpoint,大约10秒后多余文件消失

?

?

以上是关于Sqlserver filestream 引发文件数剧增的主要内容,如果未能解决你的问题,请参考以下文章

在SQLServer中启用FileStream

Sqlserver2008 FileStream解决图片存储问题

FileStream.ReadTimeout' 在 C# MVC 中引发了“System.InvalidOperationException”类型的异常

如何使用Sqlserver 2012 Always on技术

sql server2008中的FILESTREAM

sql server2008中的FILESTREAM