SQL2005安装遇到的问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无法在com+目录中安装和配置程序集c:\program files\Microsoft SQL Server\90\DTS\tasks\microsoft.sqlserver.MSMQTASK.DLL.
错误:-2146233087
sql server 安装时“无法在COM+目录中安装和配置程序”的解决办法2008-05-17 13:08无法在COM+目录中安装和配置程序集,C:\program files\microsoft SQL Server\90
\NotificationServices\9.0.242\Bin\microsoft.sqlserver,notificationservices.dll。错误:-
2146233087
错误消息:Unknown error 0x80131501
错误说明:事务管理器可用。(异常来自HRESULT:0x8004D01B)

【解决办法】
这时候可以暂停安装,不要点击中止、忽略,也不要点击取消
按以下步骤
1.删除注册表中的键:
?HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
? HKEY_CLASSES_ROOT\CID
2、使用cmd执行 停止MSDTC服务:net stop msdtc
3、使用cmd执行 卸载MSDTC服务:msdtc -uninstall
4、使用cmd执行 重新安装MSDTC服务:msdtc -install
点击重试就可以继续安装了。

1、删除注册表中的键:
? HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
? HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
? HKEY_CLASSES_ROOT\CID
2、停止MSDTC服务:net stop msdtc
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
5、重新启动电脑
肯定管用!
==============
SQL Server 2005安装失败的处理方法2008-04-03 08:48错误案例:在Microsoft Virtual PC 2007和一台笔记本电脑上安装MSDN订阅下载的SQL Server 2005企业版时出现问题。安装环境为windows Server 2003 企业版 + sp1,另外一个系统是带sp2的,安装用户使用超级管理员(Administrator)。在安装“Integration Services”步骤时出现安装错误,提示“错误: -2146233087”。
错误记录如下:
标题: Microsoft SQL Server 2005 安装程序
------------------------------
无法在 COM+ 目录中安装和配置程序集 C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\Microsoft.SqlServer.MSMQTask.dll。错误: -2146233087
错误消息: Unknown error 0x80131501
错误说明: 要执行此任务,您必须具有管理凭据。请与您的系统管理员联系以获得帮助。
有关帮助信息,请单击:
/fwlink?LinkID=20476&ProdName=Microsoft
+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=
29549&EvtType=sqlca%5csqlassembly.cpp%40Do_sqlAssemblyReg
Svcs%40Do_sqlAssemblyRegSvcs%40x80131501
通过帮助信息的超链接页面,提示“需要为MS DTC服务配置 Network Service帐户运行”,不过笔者的MS DTC本来就是在Network Service帐户下运行。
通过百度和Google搜索了一下,有不少朋友碰到类似错误消息,不过没有得到好的解决方式,只好自己寻找线索进行尝试。可以肯定

的是问题应该出现在访问权限,而这方面常见的问题一般都是对文件系统目录和系统注册表的访问。在微软的客户帮助和支持网站搜索SQL Server的相关安装信息。有一篇文章提到设置“C:\WINDOWS\Registration”的权限,确认该目录以及目录下的clb和crmlog文件有完全的读写权限,再次安装SQL Server 2005在“Integration Services”步骤还是提示失败。在安装过程中选择服务帐户时使用内置系统帐户或使用域用户帐户都一样。
看来问题没有这么简单,笔者在另外一个系统中安装时启用RegMon进行注册表操作监视,过滤后只监视“msiexec.exe:484”进程,在报以上面提到的错误后保存监视日志到文件。
通过监控日志查看失败的情况。由于没有仔细查找,在后来通过微软SQL Server组的技术支持工程师才想到问题早应该解决。以下是我事后再次查看RegMon Trace发现的问题故障点,通过下面的日志看出使用本机Administrator访问注册表.HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.DataFileMessage项时被拒绝。
11305 32.35072327 msiexec.exe:484 OpenKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.DataFileMessage ACCESS DENIED NBCN-ZZ\Administrator
11306 32.36096954 msiexec.exe:484 QueryKey HKCU\Software\Classes SUCCESS Name: \REGISTRY\USER\S-1-5-21-730333180-4162487032-3015738926-500_CLASSES
11307 32.36102295 msiexec.exe:484 OpenKey HKCU\Software\Classes\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.DataFileMessage NOT FOUND
11308 32.36108017 msiexec.exe:484 OpenKey HKCR SUCCESS
11309 32.36190796 msiexec.exe:484 CreateKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.DataFileMessage ACCESS DENIED NBCN-ZZ\Administrator
11310 32.36222076 msiexec.exe:484 CreateKey HKCR\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.DataFileMessage ACCESS DENIED NBCN-ZZ\Administrator
由于粗心结果又多做了很多工作,查看系统的“组件服务”配置是否有问题,但是没有发现什么异常。
在再次出现安装问题后,这次就直接点击“忽略”按钮继续安装SQLServer的其他部分,安装结束后,提示安装成功完成。
运行“dcomcnfg”,打开系统组件服务。展开控制台根目录->组件服务->计算机->我的电脑->COM+应用程序节点,没有发现Microsoft.SqlServer.MSMQTask节点,可见该COM+应用程序没有安装上。
再次运行SQL Server 2005安装程序进行添加删除安装,提示安装成功,在“组件服务”中看到“Microsoft.SqlServer.MSMQTask”。看来问题解决了,但是那时还不知道问题出在哪里。卸载SQL Server 2005,发现“Microsoft.SqlServer.MSMQTask”并没有卸载,测试只安装SQL Server 2005的Integration Services服务。结果安装失败,选择“中止”取消安装,再次确认存在“Microsoft.SqlServe

r.MSMQTask”服务。
接下去笔者把安装过程中出现的错误发送给微软,请SQL Server 组的技术支持工程师帮助解决。在工程师查找问题过程中,虽然许多检查点我都做过,不过他查找分析解决问题的思路清晰,以下我列了大概几个步骤。

一.MSDTC运行帐户问题
确认MSDTC (Microsoft Distributed Transaction Coordinator)服务正在运行,并且其启动帐户是NT AUTHORITY\Network Service”。按照以下步骤来检查:
1. 点击“开始”->“运行”->services.msc
2. 在服务列表中找到Distributed Transaction Coordinator,双击以编辑其属性
3. 在属性窗口切换至登录选项卡,确认其启动帐号为”NT AUTHORITY\Network Service”(密码为空即可)
4. 启动DTC服务再尝试安装SQL Server 2005
结果:这个步骤我已经尝试过,不是这个问题。

二.分析SQL Server 2005安装日志
将C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\目录下所有的文件(包括Summary.txt和Files子目录下的所有文件)发送给微软技术支持工程师进行分析。
结果:这个步骤我没有做过,不过微软工程师好像也没有发现线索。

三.COPY安装程序到硬盘安装尝试
建立 D:\SQLServer2005 文件夹, 创建以下两个子文件夹:Servers和Tools。Serviers文件夹拷贝SQL Server2005的第一张安装盘,包含所有要安装主 SQL Server 2005 组件。 Tools文件夹拷贝SQL Server 2005的第二张盘,包含为 SQL Server 2005 联机丛书和工具组件。运行D:\SQLServer2005\Servers 文件夹下的Setup.exe,启动 SQL Server 2005 安装程序。
结果:以上方式安装过程中还是碰到同样的问题。

四.重新安装 COM+应用程序
1.从控制面板的“添加或删除程序”中,单击“添加/删除 Windows 组件”。
2.在“Windows 组件向导”中,不对选择做任何更改,单击“下一步”。一直单击以完成向导,然后再次运行 SQL Server 2005 安装程序。
结果:问题没有解决。

通过以上分析微软的工程师总结如下:
目前还不确定引起这个错误的原因,并且在安装日志中也没有找到更多的有用信息。可能引起此类错误的原因有以下几种:
1. COM+的配置问题。
2. 帐号权限问题。
3.有一些安装失败的Microsoft.SqlServer.MSMQTask.dll情况出现在测试版中,或者是由于未完全删除的测试版组件而导致安装失败。
4. 除此之外还有一些类似的问题都是与64位操作系统或者Cluster环境有关。

我认为以上的一些原因可以排除,看来又是Live Meeting的时候了,和微软工程师约定时间联机查找问题。

五.手工注册Microsoft.SqlServer.MSMQTask.dll
使用regsvcs.exe应用程序工具注册.NET服务
使用cmd执行过程如下:
C:\WINDOWS\\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.

出现下列安装错误:
1: 要执行此任务,您必须具有管理凭据。请与您的系统管理员联系以获得帮助。
2: 注册程序集“Microsoft.SqlServer.MSMQTask, Version=9.0.242.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91”失败。
3: 对注册表项“HKEY_CLASSES_ROOT\Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.
DataFileMessage”的访问被拒绝。
分析结果:
这看起来是由于当前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\\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\\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+服务已经安装成功。
11一,计数器错误
在执行安装前的检测时,出现警告将4个计数器删除:
运行 cmd
unlodctr w3svc
unlodctr msftpsvc
unlodctr asp
unlodctr inetinfo
执行下面的代码片段后,重新安装SQL Server2005就不会有问题了。
lodctr w3ctrs.ini
lodctr ftpctrs.ini
lodctr axperf.ini
lodctr infoctrs.ini
[编辑本段]二,COM+ 目录要求
在执行安装前的检测时,出现COM+ 目录要求警告
①。启动Distributed Transaction Coordinator 服务
打开服务,在服务中找到Distributed Transaction Coordinator服务,选择“属性”;
在“登录”选项卡中,选择“此帐户”,帐户名填写“NT AUTHORITY\NetworkService”,密码为空;
在点击“确定”后重新启动服务。
或者,在命令行下运行 msdtc -uninstall ,卸载 msdtc 服务;
再运行 msdtc -install ,安装 msdtc 服务。
MSTDC服务成功启动,组件服务中“COM+应用程序”可以访问。
如果你也遇到了Distributed Transaction Coordinator 服务不能启动 错误:Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止。这样解决:
点开始→运行→输入命令"msdtc -resetlog",运行该命令即可.
② 按照下列过程重新安装 COM+
安装组件服务管理单元
在 Windows 桌面上,单击“开始”,然后单击“运行”。
在“打

开”框中,键入 MMC,然后单击“确定”。
在“控制台”窗口中,单击菜单栏上的“文件”,然后单击“添加/删除管理单元”。
在“添加/删除管理单元”窗口,单击“添加”。
在“添加独立管理单元”窗口,从管理单元列表中选择“组件服务”,然后单击“添加”。
单击“关闭”以关闭“添加独立管理单元”窗口,然后单击“确定”以关闭“添加/删除管理单元”窗口。
在“控制台根节点\组件服务”窗口,展开“组件服务”树。这就是当 COM+ 出现问题时,错误消息可能发生的地方。
再次运行 SQL Server 2005 安装程序。如果收到错误消息,请重新安装 COM+。
重新安装 COM+
从控制面板的“添加或删除程序”中,单击“添加/删除 Windows 组件”。
在“Windows 组件向导”中,不对选择做任何更改,单击“下一步”。
一直单击以完成向导,然后再次运行 SQL Server 2005 安装程序。
解决了COM+问题后,在后面的“检测已经安装的IIS服务”假死现象也随之解决了。
当然,解决问题的过程同样的系统环境也不尽相同,在这里谈一下我安装的小挫折,希望可以给碰到相同问题的朋友有些提示作用。
[编辑本段]三,执行安装向导期间出错
安装SQL 2005时,提示错误信息:执行安装向导期间出错
①在d:盘根目录下建立sqlserver2005Setup目录,再在d:\sqlserver2005Setup\下创建2个目录\Servers\Tools
②如果是2个cd的安装程序,将cd1上的所有文件拷贝到Servers目录下,将cd2目录下的所有文件拷贝到Tools下;如果是一个dvd的安装程序,则分别把dvd上的Servers和Tools目录下的所有文件分别拷贝到d:\sqlserver2005Setup\Servers和d:\sqlserver2005Setup\Tools再进行安装应该就没有问题。
③还有需要注意的问题安装到上述错误的时候,SQL Server2005很多文件已经安装到硬盘上了,所有你重新安装的时候,可能会遇到a、提示磁盘空间不够目标磁盘中的空间不足,无法执行当前的 SQL Server 安装。若要继续,请释放磁盘空间以安装所选功能、为此次安装选择较少的功能或将所选功能安装到另一个驱动器中。b、安装仍然失败所以建议你重新安装之前,到添加删除程序里把SQL Server2005卸载
[编辑本段]四,无法完成安装
安装SQL 2005时,无法安装sql database组建,无法启用SQL服务
出现这种问题,一般是因为您使用的是三核心CPU,所有数据库软件均不支持基数核心的CPU,建议更换CPU。


****************************
无法在 COM+ 目录中安装和配置程序集 C:\Program Files\Microsoft SQL Server\90\NotificationServices\9.0.242\Bin\microsoft.sqlserver.notificationservices.dl

l。错误: -2146233087
错误消息: Unknown error 0x80131501
错误说明: 事务管理器可用。 (异常来自 HRESULT:0x8004D01B)

开始-运行-输入“cmd”-回车-
在命令行下输入:net start msdtc -回车
如果返回成功,然后再安装试一次即可,返回失败的话再在命令行输入:
msdtc -resetlog -回车
net start msdtc -回车
这时会返回成功!再运行就可以了!

原因:com+需要系统服务msdtc(display name:Distributed Transaction Coordinator),所以需要启动msdtc服务才可以正常安装
*******************************
安装SQL Server 2005性能监视器计数器要求 (错误)
2.定位到以下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
(004和009记下添置即可004
Counter =6376
Help =6377
009
Counter =3150
Help =3151)

相关文档
最新文档