天天看点

如何清除SharePoint Server 配置缓存

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

Clearing the Configuration Cache Manually

1、停止SharePoint Timer Service.

如何清除SharePoint Server 配置缓存

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,以取消选择该文件。

如何清除SharePoint Server 配置缓存

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

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

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

如何清除SharePoint Server 配置缓存

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计时器服务。

<code>##################</code>

<code>Stop-Service</code> <code>SPTimerV4</code>

<code>$folders</code> <code>= </code><code>Get-ChildItem</code> <code>C:\ProgramData\Microsoft\SharePoint\Config</code>

<code>foreach</code> <code>(</code><code>$folder</code> <code>in</code> <code>$folders</code><code>)</code>

<code>{</code>

<code>$items</code> <code>= </code><code>Get-ChildItem</code> <code>$folder</code><code>.FullName -Recurse</code>

<code>foreach</code> <code>(</code><code>$item</code> <code>in</code> <code>$items</code><code>)</code>

<code>if</code> <code>(</code><code>$item</code><code>.Name.ToLower() </code><code>-eq</code> <code>“cache.ini”)</code>

<code>$cachefolder</code> <code>= </code><code>$folder</code><code>.FullName</code>

<code>}</code>

<code>$cacheIn</code> <code>= </code><code>Get-ChildItem</code> <code>$cachefolder</code> <code>-Recurse</code>

<code>foreach</code> <code>(</code><code>$cachefolderitem</code> <code>in</code> <code>$cacheIn</code><code>)</code>

<code>if</code> <code>(</code><code>$cachefolderitem</code> <code>-like</code> <code>“*.xml”)</code>

<code>$cachefolderitem</code><code>.Delete()</code>

<code>$a</code> <code>= </code><code>Get-Content</code>  <code>$cachefolder</code><code>\cache.ini</code>

<code>$a</code>  <code>= 1</code>

<code>Set-Content</code> <code>$a</code> <code>-Path </code><code>$cachefolder</code><code>\cache.ini</code>

<code>read-host</code> <code>“press ENTER”</code>

<code>start-Service</code> <code>SPTimerV4</code>

<code></code>

      本文转自惊艳了青春 51CTO博客,原文链接:http://blog.51cto.com/djclouds/2088015,如需转载请自行联系原作者