这里这里...Microsoft SQL Server 的安全性研究-原创论文-刨文网:这是Microsoft SQL Server 的安全性研究的原创论文 自己去下~虽然我不懂吧,但我用心找了!应该有点儿用吧还有,附上1些资料 要自己写的话肯定会用得上Microsoft SQL Server 2005 安装过程中出现的问题:一.MSDTC运行帐户问题确认MSDTC (Microsoft Distributed Transaction Coordinator)服务正在运行,并且其启动帐户是NT AUTHORITY\Network Service”。按照以下步骤来检查:1. 点击“开始”->“运行”->. 在服务列表中找到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\目录下所有的文件(包括和Files子目录下的所有文件)发送给微软技术支持工程师进行分析。结果:这个步骤我没有做过,不过微软工程师好像也没有发现线索。三.COPY安装程序到硬盘安装尝试建立 D:\SQLServer2005 文件夹, 创建以下两个子文件夹:Servers和Tools。Serviers文件夹拷贝SQL Server2005的第一张安装盘,包含所有要安装主 SQL Server 2005 组件。 Tools文件夹拷贝SQL Server 2005的第二张盘,包含为 SQL Server 2005 联机丛书和工具组件。运行D:\SQLServer2005\Servers 文件夹下的,启动 SQL Server 2005 安装程序。结果:以上方式安装过程中还是碰到同样的问题。四.重新安装 COM+应用程序1.从控制面板的“添加或删除程序”中,单击“添加/删除 Windows 组件”。2.在“Windows 组件向导”中,不对选择做任何更改,单击“下一步”。一直单击以完成向导,然后再次运行 SQL Server 2005 安装程序。结果:问题没有解决。通过以上分析微软的工程师总结如下:目前还不确定引起这个错误的原因,并且在安装日志中也没有找到更多的有用信息。可能引起此类错误的原因有以下几种:1. COM+的配置问题。2. 帐号权限问题。3.有一些安装失败的情况出现在测试版中,或者是由于未完全删除的测试版组件而导致安装失败。4. 除此之外还有一些类似的问题都是与64位操作系统或者Cluster环境有关。我认为以上的一些原因可以排除,看来又是Live Meeting的时候了,和微软工程师约定时间联机查找问题。五.手工注册使用应用程序工具注册.NET服务使用cmd执行过程如下:C:\WINDOWS\\Framework\> "C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\"Microsoft(R) .NET Framework 服务安装实用工具版本 (c) Microsoft Corporation. All rights reserved.出现下列安装错误:1: 要执行此任务,您必须具有管理凭据。请与您的系统管理员联系以获得帮助。2: 注册程序集“, Version=, Culture=neutral,PublicKeyToken=89845dcd8080cc91”失败。3: 对注册表项“HKEY_CLASSES_ROOT\”的访问被拒绝。分析结果:这看起来是由于当前Windows用户在该注册表键值上没有足够的权限造成的。经过研究类似案例,在某些情况下,即使是Administrators组的用户也可能出现对这些键值没有Full Control的情况。需要确认一下在这些注册表值上,Administrators组用户是否有Full Control。在注册表中右键点击注册表值->选择权限来查看及改变该值上的权限设置。如果权限设置都正确的话,可以试着抓一个RegMon trace来看到底是不是注册表键值的权限问题导致这个错误。看来问题终于找到了。六.监控注册表1. 运行RegMon工具,通过菜单Options->Filter中设置Include list,把加入Include list中。2. 执行 "C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\"3. 在执行失败停止后,保存RegMon生成的log。分析RegMon Trace。定位问题如下:5484 OpenKey HKCR\ ACCESS DENIED NBCN-ZZ\Administrator5488 CreateKey HKCR\ ACCESS DENIED NBCN-ZZ\Administrator5489 CreateKey HKCR\ ACCESS DENIED NBCN-ZZ\Administrator6431 OpenKey HKCR\ ACCESS DENIED NBCN-ZZ\Administrator以上其实就是我一开始使用RegMon 时应该发现的问题,结果到现在才发现。从这几条记录来看,问题是对注册表值HKCR\的权限问题。而RegSvcs进程在遇到这些权限问题之后,并没有马上终止,还有一些别的注册表活动。我查看了注册表HKEY_CLASSES_ROOT\项的权限,Administrators组没有“完全控制”和“读取”权限,对其进行授权。重新运行注册,结果又报另外的注册表项没有权限,对其进行添加,直到注册成功,以下是输出结果。C:\WINDOWS\\Framework\> "C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\"Microsoft(R) .NET Framework 服务安装实用工具版本 (c) Microsoft Corporation. All rights reserved.正在自动将“, Version=, Culture=neutral,PublicKeyToken=89845dcd8080cc91”导出为“C:\WINDOWS\assembly\GAC_MSIL\\\”。警告: 程序集未声明 ApplicationAccessControl 属性。默认情况下启用应用程序安全性。已安装的程序集:程序集: C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\应用程序: : C:\Program Files\Microsoft SQL Server\90\DTS\Tasks\:\WINDOWS\\Framework\>修改授权的相关注册表项如下:HKEY_CLASSES_ROOT\\\\再次运行“dcomcnfg”,打开系统组件服务。展开控制台根目录->组件服务->计算机->我的电脑->COM+应用程序节点,发现节点,该COM+服务已经安装成功。就这些了...