Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
最近我们的一些客户碰到了一个SQL 2012 SP1的已知问题,这里给大家提供解释和参考。
这个已知问题现有的现象是:
1) 安装了SQL 2012 SP1工具等组件
2) Software注册表单元变得很大
3) Windows Installer反复启动
4) 高CPU使用率
以下是相关的一些文档。Cumulative Update 2 for SQL Server 2012 SP1 修复了这个问题,但该修复是避免将来再发生此类现象,而现有的Software注册表单元很大等症状仍会保持。
https://support.microsoft.com/kb/2793634?wa=wsignin1.0
Software注册表单元一旦超过2GB会很难缩小,所以当你注意到这个问题的时候,要尽早采取措施。
我们有以下建议:
- 安装最新的CU包来避免Software注册表继续增长。请注意,由于Software注册表单元很大,Windows Installer有可能由于无法正常工作而不能将CU安装成功。这样的话我们必须将Software注册表单元缩小后再安装补丁。
- 停止ngen 服务业也可以避免Software注册表单元继续增加新的键值。
用run as administrator方式打开cmd.exe
如果你使用64-bit 服务器,运行以下命令:
o %windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe queue pause
o %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe queue pause
如果你使用32-bit 服务器,运行以下命令:
o %windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe queue pause
之后,CPU使用率也应该恢复正常。
如何缩小Sofware注册表单元
方法1:
- 检查regback文件夹 (C:\windows\system32\config\RegBack) ,该文件夹下有Software注册表单元的备份,如果备份不是很老,也不大,那最佳方案是还原备份。注意:在备份日期后安装过的软件要卸载重装。
方法2:
- 如果备份不存在,那我们需要手工做压缩。
a) 删除多余的注册表键值:
注:多余的注册表键值在下面路径中,不建议手工删除。 \Wow6432Node\Microsoft\.NETFramework\v2.0.50727\NGENService\Roots
运行如下命令:
- 用run as administrator方式打开cmd.exe
如果你使用64-bit 服务器,运行以下命令:
-
- %windir%\Microsoft.NET\Framework\v4.0.30319\ngen eqi
- %windir%\Microsoft.NET\Framework64\v4.0.30319\ngen eqi
如果你使用32-bit 服务器,运行以下命令:
-
- %windir%\Microsoft.NET\Framework\v4.0.30319\ngen eqi
b) 使用如下KB文档来压缩Software注册表单元
https://support.microsoft.com/kb/2498915
如果以上方法无效,建议你和我们全球技术中心联系,我们Windows支持组的工程师会帮助你压缩Software注册表单元。