Sometimes we need to clear the config cache data on the SharePoint servers which supposed to be fixed or we are trying to fix fetching old configured data from the servers. Like we do dns flush, same way we need to clear the config cached data for SharePoint.
Below are the steps to clear the cache:-
1) STOP the timer service manually
2) Run the following powershell script below to clear the config cached data
--------------------------------------------------------------------------------------------------------------------------
Write-Host "This script clears your SharePoint config cache on this server. This should be done on all servers simultaneously.";
$confirm = Read-Host "Have you stopped the timer service on all SharePoint servers? y or n"
If ($confirm -eq "y" -or $confirm -eq "yes" ) {
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Retrieve the ID of the configuration database from the registry. This ID identifies the caching folder on disc.
$ConfigDb = (Get-SPDatabase | Where {$_.TypeName -eq "Configuration Database"}).ID
$ConfigDbId = $ConfigDb.GUID
# Creating the folder path
$CacheFolder = Join-Path -Path ([Environment]::GetFolderPath("CommonApplicationData")) -ChildPath "Microsoft\SharePoint\Config\$($ConfigDbId)"
# Clearing out the cache
Write-Host "$env:COMPUTERNAME - Clearing cache folder"
Get-ChildItem "$CacheFolder\*" -Filter *.xml | Remove-Item
Get-ChildItem "$CacheFolder\*" -Filter *.tmp | Remove-Item
# Locate the cache ini file and reset it by writing the value '1' into the file.
Write-Host "$env:COMPUTERNAME - Resetting cache ini file"
$CacheIni = Get-Item "$CacheFolder\Cache.ini"
Set-Content -Path $CacheIni -Value "1"
Write-Host "Please confirm Cache.ini is reset to '1' and XML/TMP files have been removed. The explorer window should open shortly (~25 seconds)."
Start-Sleep -Seconds 25
$ShellExp = new-object -comObject Shell.Application
$ShellExp.open($CacheFolder);
Write-Host "Config cache has been cleared. Please start the timer service and confirm that the XML files are re-populating."
}
Else {
Write-Host "Script has been canceled."
}
-----------------------------------------------------------------------------------------------------------------------
3) Restart the Timer service once above script is executed successfully.
The script will also open up the explorer window with cache files location and will see repopulating the directory with new files