Sitecore媒体转换工具占用存储空间

Sitecore媒体转换工具占用存储空间,sitecore,sitecore-media-library,Sitecore,Sitecore Media Library,我有一个关于Sitecore媒体转换工具的问题 使用此模块,您可以在硬盘驱动器位置和Sitecore数据库之间转换媒体项,反之亦然。但每次我转换某些项目时,它都会占用额外的硬盘空间 因此,当我将3gb转换为硬盘时,它会增加一个额外的3gb(这似乎是逻辑->总共6gb),但当我将它们转换回blob格式时,它会增加另一个3gb(总共9gb)。而不是覆盖数据库中以前的版本 有没有办法清除以前的污点?因为现在它占用了太多的硬盘空间 提前感谢。使用“清理数据库”应该可以,但是如果大小太大,就像我客户端的b

我有一个关于Sitecore媒体转换工具的问题

使用此模块,您可以在硬盘驱动器位置和Sitecore数据库之间转换媒体项,反之亦然。但每次我转换某些项目时,它都会占用额外的硬盘空间

因此,当我将3gb转换为硬盘时,它会增加一个额外的3gb(这似乎是逻辑->总共6gb),但当我将它们转换回blob格式时,它会增加另一个3gb(总共9gb)。而不是覆盖数据库中以前的版本

有没有办法清除以前的污点?因为现在它占用了太多的硬盘空间

提前感谢。

使用“清理数据库”应该可以,但是如果大小太大,就像我客户端的blob表那样,清理将失败,原因可能是SQL超时或SQL Server耗尽了所有可用的锁

另一种解决方案是运行脚本手动清理blobs表。我们以前遇到过这个问题,Sitecore支持部门能够为我们提供这样做的脚本:

DECLARE @UsableBlobs table(
    ID uniqueidentifier
    );

I-N-S-E-R-T INTO 
    @UsableBlobs    
S-E-L-E-C-T convert(uniqueidentifier,[Value]) as EmpID from [Fields]
where [Value] != '' 
and (FieldId='{40E50ED9-BA07-4702-992E-A912738D32DC}' or FieldId='{DBBE7D99-1388-4357-BB34-AD71EDF18ED3}') 
D-E-L-E-T-E from [Blobs] 
where [BlobId] not in (S-E-L-E-C-T * from @UsableBlobs)
这基本上是查找仍在使用的blob并将其存储在临时表中。它会将此表中的项目与
blob
表中的项目进行比较,并删除不在临时表中的项目

在我们的例子中,由于SQL Server锁问题,甚至这一点也被破坏了,因此我将delete语句更新为
delete top(x)from[Blobs]
,其中x是您认为更合适的数字。我从1000开始,最终一次删除40万条记录。(是的,有那么大)

因此,请首先尝试内置的“清理数据库”选项,如果失败,请尝试运行脚本手动清理表


编辑说明:很抱歉,必须更改“插入”、“选择”和“删除”命令以允许SO保存条目。

您可以尝试登录
Sitecore shell
,打开
内容面板
应用程序,选择
数据库
,然后从那里运行
清理数据库
工具。我在一些场景中帮助过我,但我不确定它是否也适用于你的场景。是的。使用“清理数据库”,在某些情况下,您需要从SQL Management Studio中使用shrinkdb进行后续操作