您的位置:首页 >> 数据库 >> MySQL >> 正文
MySQL RSS
 

SQL Server 2005安装失败的处理方法

http://www.rdxx.com 08年03月21日 00:00 我要投稿

关键词: 方法 , SQL Server 2005 , 安装 , SQL , 处理方法
 

 

分析结果:

这看起来是由于当前Windows用户在该注册表键值上没有足够的权限造成的。经过研究类似案例,在某些情况下,即使是Administrators组的用户也可能出现对这些键值没有Full Control的情况。需要确认一下在这些注册表值上,Administrators组用户是否有Full Control。在注册表中右键点击注册表值->选择权限来查看及改变该值上的权限设置。如果权限设置都正确的话,可以试着抓一个RegMon trace来看到底是不是注册表键值的权限问题导致这个错误。

看来问题终于找到了。

六.监控注册表

1. 运行RegMon工具,通过菜单Options->Filter中设置Include list,把Regsvcs.exe加入Include list中。

2. 执行regsvcs.exe "C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\Microsoft.SqlServer.MSMQTask.dll"

3. 在Regsvcs.exe执行失败停止后,保存RegMon生成的log。

分析RegMon Trace。定位问题如下:

5484 17.98829079 RegSvcs.exe:3404 OpenKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask ACCESS DENIED NBCN-ZZ\Administrator

5488 17.98927116 RegSvcs.exe:3404 CreateKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask ACCESS DENIED NBCN-ZZ\Administrator

5489 17.98955727 RegSvcs.exe:3404 CreateKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask ACCESS DENIED NBCN-ZZ\Administrator

6431 19.89454460 RegSvcs.exe:3404 OpenKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask ACCESS DENIED NBCN-ZZ\Administrator

以上其实就是我一开始使用RegMon 时应该发现的问题,结果到现在才发现。

从这几条记录来看,问题是对注册表值HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask的权限问题。而RegSvcs进程在遇到这些权限问题之后,并没有马上终止,还有一些别的注册表活动。我查看了注册表HKEY_CLASSES_ROOT\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.

DataFileMessage项的权限,Administrators组没有“完全控制”和“读取”权限,对其进行授权。重新运行注册,结果又报另外的注册表项没有权限,对其进行添加,直到注册成功,以下是输出结果。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>regsvcs.exe "C:\Program Files\Micr

osoft SQL Server\90\DTS\Tasks\Microsoft.SqlServer.MSMQTask.dll"

Microsoft(R) .NET Framework 服务安装实用工具版本 2.0.50727.42

Copyright (c) Microsoft Corporation. All rights reserved.

正在自动将“Microsoft.SqlServer.ManagedDTS, Version=9.0.242.0, Culture=neutral,

PublicKeyToken=89845dcd8080cc91”导出为“C:\WINDOWS\assembly\GAC_MSIL\Microsoft.

SqlServer.ManagedDTS\9.0.242.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.

tlb”。

警告: 程序集未声明 ApplicationAccessControl 属性。默认情况下启用应用程序安全性。

已安装的程序集:

程序集: C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\Microsoft.Sql

Server.MSMQTask.dll

应用程序: Microsoft.SqlServer.MSMQTask

TypeLib: C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\Microsoft.Sq

lServer.MSMQTask.tlb

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>

修改授权的相关注册表项如下:

HKEY_CLASSES_ROOT\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask

HKEY_CLASSES_ROOT\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.EncryptionAlgorithmWrapper

HKEY_CLASSES_ROOT\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.ServCompMQTask

HKEY_CLASSES_ROOT\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.Formatter

再次运行“dcomcnfg”,打开系统组件服务。展开控制台根目录->组件服务->计算机->我的电脑->COM+应用程序节点,发现Microsoft.SqlServer.MSMQTask节点,该COM+服务已经安装成功。

上一页 下一页


 
 
标签: 方法 , SQL Server 2005 , 安装 , SQL , 处理方法 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站