日常运维中您可能需要清除SharePoint 2010/2013/2016中的过期配置缓存。例如,有时计时器作业往往会卡住,并在这种情况下清除缓存。您可以手动清除SharePoint配置缓存或者使用PowerShell脚本。示例中,使用SharePoint Server 2016 版本,但同样的方法适用于以前版本的SharePoint。
Clearing the Configuration Cache Manually
1、停止SharePoint Timer Service.
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,以取消选择该文件。
7、删除所有文件。这会让你只在这个文件夹中有cache.ini文件。不要删除该文件夹。您的目标是在由系统创建的相同文件夹中重建缓存。
8、打开cache.ini文件。您可能期望文件中有大量信息,但它只有5位或6位数字,例如356867.用1替换这个数字,这样文件中的唯一数据就是数字1.现在保存文件。将此数字更改为1将重置高速缓存,并且将在重新启动SharePoint定时服务后重建该高速缓存
9、在服务控制台中启动SharePoint计时器服务。
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计时器服务。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
##################
Stop-Service
SPTimerV4
$folders
=
Get-ChildItem
C:\ProgramData\Microsoft\SharePoint\Config
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
$cachefolder
\cache.ini
$a
= 1
Set-Content
$a
-Path
$cachefolder
\cache.ini
read-host
“press ENTER”
start-Service
SPTimerV4
|