如何清除SharePoint Server 配置缓存

日常运维中您可能需要清除SharePoint 2010/2013/2016中的过期配置缓存。例如,有时计时器作业往往会卡住,并在这种情况下清除缓存。您可以手动清除SharePoint配置缓存或者使用PowerShell脚本。示例中,使用SharePoint Server 2016 版本,但同样的方法适用于以前版本的SharePoint。

Clearing the Configuration Cache Manually

1、停止SharePoint Timer Service.

clip_image001[8]

2、在文件资源管理器中转到%SystemDrive% ProgramData Microsoft SharePoint Config文件夹。程序数据文件夹默认为隐藏,因此您可能必须在文件资源管理器中取消隐藏它。

3、Config文件夹中有几个GUID文件夹。我们需要找名称中带有连字符的那个。

4、在这个文件夹里面你会发现很多文件。您的目标是删除除cache.ini之外的所有文件。首先对cache.ini文件的进行备份。您可以将其复制并粘贴到同一个文件夹中。缓存 - Copy.ini将成为您的备份文件。

5、现在您如已经完成cache.ini文件的备份,下一步需要删除所有的.xml文件。在数千个文件中查找cache.ini文件的最简单方法是通过单击列标题对Type列进行排序。

6、单击Ctrl-A突出显示文件夹中的所有文件,然后按Ctrl键单击cache.ini,以取消选择该文件。

clip_image002[9]

7、删除所有文件。这会让你只在这个文件夹中有cache.ini文件。不要删除该文件夹。您的目标是在由系统创建的相同文件夹中重建缓存。

8、打开cache.ini文件。您可能期望文件中有大量信息,但它只有5位或6位数字,例如356867.用1替换这个数字,这样文件中的唯一数据就是数字1.现在保存文件。将此数字更改为1将重置高速缓存,并且将在重新启动SharePoint定时服务后重建该高速缓存

9、在服务控制台中启动SharePoint计时器服务。

clip_image003[9]

10、您会注意到缓存文件开始填充该文件夹。在我的情况下,它只需要几秒钟,但取决于您的环境和配置

11、验证cache.ini文件中的值不再是1.它可能是与以前不同的5-6位数字。

12、将这个新的cache.ini文件复制到cache.OLD.ini文件中,并将原始备份(cache - Copy.ini)重命名为cache.NEW.ini ,现在已完成SharePoint 配置缓存清理

Using PowerShell to Clear the Configuration Cache

操作步骤与手动方法类似 :

1.将SharePoint加载项加载到PowerShell中。

2. 停止SharePoint计时器服务。

3.删除缓存(xml)文件。

4. 通过将cache.ini文件中的值设置为1来重置高速缓存

5. 启动SharePoint计时器服务。

##################

Stop-Service SPTimerV4

$folders = Get-ChildItem C:ProgramDataMicrosoftSharePointConfig

foreach ($folder in $folders)

{

$items = Get-ChildItem $folder.FullName -Recurse

foreach ($item in $items)

{

if ($item.Name.ToLower() -eq “cache.ini”)

{

$cachefolder = $folder.FullName

}

}

}

$cacheIn = Get-ChildItem $cachefolder -Recurse

foreach ($cachefolderitem in $cacheIn)

{

if ($cachefolderitem -like “*.xml”)

{

$cachefolderitem.Delete()

}

}

$a = Get-Content  $cachefoldercache.ini

$a  = 1

Set-Content $a -Path $cachefoldercache.ini

read-host “press ENTER”

start-Service SPTimerV4

  

原文地址:https://www.cnblogs.com/Aldj/p/8593795.html