由于这两个功能是SQL2005新增的,所以我在安装的时候也就一股脑的默认到底(最近觉得自己很糙),然后又给打了SP1的补丁,几天后,断断续续地快把联机文档看完,准备就教程做下实例,不想需要用到示例数据库,而默认情况下是没有安装的,二话没说,马上安装,不过最后提示现有版本高于现在安装组件的版本,失败了,还提示进命令行模式安装。这个主要是打了补丁的缘故,卸补丁吗,系统建议进控制面板->添加和删除程序,不过没有找到,也不知道SP1是怎么个打补丁的,然后我就用命令行模式安装,call setup.exe SKUUPGRADE=1,后面的参数提示里又说明的,不过还是不行,那接下去没办法了,就把整个卸了,重新安装了一遍,然后问题又来了,提示“SQL Server 2005 中为安装程序增加计数器注册表项值”,检测不通过,网上查了资料,查到的资料如下:
在 SQL Server 安装开始前,Microsoft SQL Server 安装程序中的安装配置检查器 (SCC) 会验证计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或 SCC 无法运行 lodctr.exe 系统程序,则 SCC 检查会失败,致使安装受阻。
错误编辑注册表会严重损坏您的系统。更改注册表项之前,建议您备份计算机中的所有重要数据。
-
在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击 “开始” 、 “运行” ,然后在 “打开” 中键入 regedit.exe ,再单击 “确定” 。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器。
-
定位到以下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
-
上 一步的“Last Counter”值 (5276) 必须与以下注册表项中“Perflib\009”的“Counter”项的最大值匹配,并且上一步的“Last Help”值 (5277) 必须与以下注册表项中“Perflib\009”的“Help”项的最大值匹配。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
注意 009 是英文中的一个示例。“Last Counter”和“Last Help”值是由 Windows 动态分配的;这两个值会因计算机的不同而不同。
-
如有必要,可修改“\Perflib”项中的“Last Counter”和“Last Help”值的值:在右侧窗格中,右键单击 “Last Counter” 或 “Last Help” ,单击 “修改” ,再单击 “Base = "Decimal"” ,在 “值数据” 中设置值,再单击 “确定” 。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。
-
再次运行 SQL Server 安装程序。
这里要注意一下:009中存储的是英文版本的计数器,004才是中文的,在中国用的一般都是SQL Server 2005 中文版的,照着上面的方法,将“Last Counter”和“Last Help”的键值改为与004中的一致。再运行安装程序,检测通过!