症状
使用日志永远不会被删除。 在任何给定时间,通常不应超过6个使用文件,但当你遇到此问题时,你可能会在日志目录中找到成百上千的使用日志。
当使用导入计时器作业运行时,你将在 SharePoint ULS 日志中看到如下错误:
OWSTIMER.EXE (0x51A0)0x59E4 在导入数据后,SharePoint Foundation 使用率基础结构 a5rv 高 无法删除使用率日志文件 "E:\Logs\ServerName-20130701-2117.usage"。 异常: IOException: 进程无法访问该文件,因为另一个进程正在使用该文件。 在 Microsoft WinIOError (String maybeFullPath)处的 FileInfo (String destFileName)处的(Int32 errorCode、String)。 __Error SPProvisioningAssistant (FileSystemInfo) MoveFileOrDirectory (()。 SPProvisioningAssistant (List ' 1 DeleteFileOrDirectory) 其他症状包括: •缺少或不完整的 Web Analytics 数据• "Microsoft SharePoint Foundation 使用情况数据导入" 计时器作业永不完成的情况下,不会完成。 • "定时服务回收" 计时器作业绝不能真正重新启动定时服务。 它尝试暂停使用数据导入作业,因此在十分钟后跳过回收。 • Owstimer 内的内存膨胀(泄漏)。 你可能会看到计时器服务占用的内存要比正常情况更多。 重新启动计时器服务将使其恢复正常,但它将随着时间的推移再次出现。 •间歇性的 "诊断数据提供程序:跟踪日志" 计时器作业不会将 ULS 日志数据导入日志记录数据库。
原因
当 Windows 更新 KB 2775511 或 KB 2682011 或 KB 2882822 应用到 SharePoint 服务器时,会发生这种情况。
解决方案
此修补程序是针对 SharePoint 2010 的2013年12月累积更新。
如果查看基础程序包(包括在 SharePoint server 程序包中)的说明,请执行以下操作: http://support.microsoft.com/kb/2849981,你将看到以下问题之一的说明:
"在 SharePoint Server 2010 服务器上安装修补程序2775511或修补程序2682011后,不会从文件系统中删除使用情况提供程序(用法)文件。 此外,"使用文件" 不断增大。
这对不包含所有已知症状的问题稍有一般性的摘要,但它可以解决此 KB 中所述的问题。
下面是指向 KB 和下载的链接:http://support.microsoft.com/kb/2849971
更多信息
如果您无法快速安装2013年12月累积更新,您可以通过两种独立的解决方法来获取这些解决方法:1. 设置计划任务以便每隔6小时手动回收计时器服务(至少)一次。 你可以使用此类 PowerShell 命令回收服务:
重新启动-服务名称 SPTimerV4
然后,只需将计划任务设置为 在服务器场中的每个 SharePoint 服务器上每隔6小时运行一次。 当定时服务手动回收时,将释放对使用文件的打开的句柄,当使用情况数据导入计时器作业的下一个实例(默认情况下,每隔30分钟)运行时,这些句柄将自动删除。 无需手动删除文件。
2. 卸载 KB2775511 或 KB2682011 或 KB2882822 (如果已安装),但这是一个选项。
注意 关于在任何给定时间,"通常不应使用6个以上的使用文件" 语句:只要使用默认设置,您就可以在任何给定时间最多使用6个文件。 将影响此设置的两个设置:--"Microsoft SharePoint Foundation 使用率数据导入" 计时器作业的计划。 默认情况下,它每30分钟运行一次。 如果你的计划已增加到每天一次,则你将拥有许多更多。使用文件。-UsageLogCutTime。 默认情况下,这是5,这意味着我们每五分钟创建一个新的使用日志。 导入作业每30分钟运行一次。 在导入作业运行前,我们应编译不超过6个文件,导入数据,然后删除文件。 你可以通过运行 SPUsageService 检查此值。