热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> 数据库>>正文内容

数据库(一)安装相关—挂起、创建实例失败

发布时间:2009年07月10日点击数: 未知


数据库(一)安装相关—挂起、创建实例失败
题记:上两个星期一直在用SQL2000的DTS做一个数据自动转移备份的程序,结果把这一块的东西又研究了一下。以往也用SQL不过是学习课本上照本宣科的东西,实用就是用网页读数据库,只要安装好数据库能正确连接就好了,也没深入探讨。最近又用的时候,才发现SQL的水真是深啊,一不小心就被一个问题搅的晕头转向。还好,现在咨询发达,可以查帮助文档和网上搜索,因此,这些问题也逐渐解决了。把以前和最近的总结文档整理一下,记录下来,也让其他人遇到一样问题时来搜索我的文章吧!
文章构架:(一)数据库安装相关—挂起、创建实例失败

(二)数据库—数据库连接失败

(三)数据库—DTS相关

(四)数据库进阶—索引、视图、游标、存储过程和触发器

问题来源:机器上装过SQL2005,然后因为实验室开发用SQL2000,又卸了重装SQL2000,但是不知道,用的默认实例。然后装VS2005时又默认装了一个SQL2005的配置工具,好像还有一个默认的实例。系统在中间做过一个一键还原备份。后来默认实例用的麻烦,就卸了SQL2000重装了一个实例,这中间还换了SQL2000版本。一次意外,恢复了系统,结果SQL这块很多功能都出了问题,只有重装,没想到重装还是有很多问题,目前逐一解决!呵呵!


一、 版本问题。

不同版本适用不同系统,这就不多说了,网上有很多。

二、 是否创建实例

安装前最好修改自己的机器名为一个简单称谓,这样数据库服务器的名字就方便些,不会是一条机器码。不改也可以,以后可以在程序组中的网络服务工具和客户端服务工具中修改,不过麻烦些。实例的介绍,网上有,不多说了,命名实例比默认实例注册表权限也要大一些,最好创建一个实例,以后扩展方便些。

三、 使用本地账户或域用户账户

本地系统帐户不需要设置密码,也没有 Windows NT 4.0 的网络访问权限,同时,它可能限制 SQL Server 安装与其它服务器交互,比如数据同步和网络备份。在 Windows 2000 中,本地系统帐户不允许网络访问。我用的是2003和XP,好像没出现问题。

域用户帐户使用 Windows 身份验证设置并连接 SQL Server。默认情况下,将显示当前登录到计算机的域用户帐户的帐户信息。如果你的帐号是域帐号才能使用 "使用域用户账户" ,没有安装活动目录,也不是某个域的成员。只有选择本地用户。

四、 认证模式选择

不多少了,在方便和安全之间自己做决定吧!

五、卸载实例和重建注册表

这是给装完了一个实例,不过瘾,还想卸了再装,或者以后使用时出现了问题,需要修复注册表的人使用的。像我这种不喜欢重装系统,出了问题就改注册表的人比较适用,但是代价有时也是惨痛的,呵呵,重建时输入错了以前的初始化信息,就只有卸载重装啦!

以上内容查看SQL的帮助文档《SQL Server 安装程序帮助》都可以查的到,下面的部分,是网上查到的。

六、进入安装前出现的问题。“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”

这是由于注册表冲突引起的,可以执行

A、开始\运行\输入regedit回车

+HKEY_LOCAL_MACHINE

+SYSTEM

+CurrentControlSet

+Control

+Session Manager下的FileRenameOperations删掉

然后不要重启(重启,注册表就恢复了)就可以了安装了。

基本上将上述注册表删除,一定可以解决SQL挂起问题。网上也有不行的,我没试,可以参考,继续下面:

B、+HKEY_LOCAL_MACHINE

+SOFTWARE

+Microsoft

+Windows

+CurrentVersion

+Setup

+ExceptionComponents下的东西全部删掉如:

{077ACEC7-979C-40AB-9835-435BA1511E0D}

{30C7234B-6482-4A55-A11D-ECD9030313F2}

{3FDF25EE-E592-4495-8391-6E9C504DAC2B}

{60204BB3-7078-4F70-8F69-68297621941C}......

总之有几项,就删几项。然后重启,重启后,执行A,一般就可以了。

七、进入复制文件阶段出现的问题。由于我重装了很多次,一次还因为其他原因再换了SQL的版本后,一键还原了系统。结果复制过程中出现了很多问题。我也在网上搜索了一些。

比如:

A配置服务器出错。

B注册 ActiveX 时中断。

C创建实例时失败(重装时用的实例和以前的一样)。

这些问题,基本上就是以前的SQL没有卸载干净,导致出错。

下面介绍最完整的手工完全卸载SQL攻略,注:删除文件和改注册表时一定要慎重,很多其他程序如VS2005一般也会有数据库相关的东西,别删了。实在不行就重装系统吧,呵呵!

1)先停止服务,退出,再到控制面板正常卸载。

2)删除安装路径下的所有目录文件夹。如果担心删除不到位,可以用查找命令,将所有*SQL*的逐一查出,然后再一一确认删除;(如果安装SQL时,不是按默认路径安装,除了删除安装路径下的所有目录文件夹外,主系统盘里的程序组里的相应文件夹也要删除)。

3)运行注册表,删除如下项:

删除+HKEY_CURRENT_USER

+Software

+Microsoft

+Microsoft SQL Server

删除HKEY_LOCAL_MACHINE

+SOFTWARE

+Microsoft

+Microsoft SQL Server

删除HKEY_LOCAL_MACHINE

+SOFTWARE

+Microsoft

+MSSQLServer

删除HKEY_LOCAL_MACHINE

+SOFTWARE

+Microsoft

+Windows

+CurrentVersion

+Setup

+ExceptionComponents

一般做到上面,把注册表就删的差不多了,重启后,一般就可以安装。

实在不行,就把仔细看看刚刚上面的那些注册表,还有那些有SQL的都删了吧!

下面还有些要删的文件操作,我觉得没必要,因为安装出错大多数都是注册表中的冲突造成的,除了一些特殊的不可删除的文件,一般文件在重装后都会重写的,不删也没关系。

4)同时需要将C:\Documents and Settings\XXX\Local Settings\Temp\所有关于*SQL*.*全部清除;例如将sqlsp.out,SQLSERVR.DBD,sqlmangr.exe.mdmp,sqlmangr.exe.hdmp清除。

5)删除的时候还应考虑到C:\Program Files\Common Files\Microsoft Shared\web server extensions\40\bin\FPMMC.MSC;

6)将C:\WINDOWS目录下的sql.mif、sqlsp.log、sqlstp.log、sqlsrv32.rll、sqlwid.dll、sqlwoa.dll、dbmsqlgc.dll、SQLSRV32.dll、sqlclnt.rsp、sqlunirl.dll、SQLSERVR.EXE-18F260D8.pf、SQLMANGR.EXE-0150BA62.pf等清除;(偶机器SQL是打过SP4的)

7)删除时还应将C:\Program Files\Common Files\Microsoft Shared\SQL Debugging\sqldbreg2.exe,sqldbreg.exe,sqldbg.dll也清除掉;

8)如果安装不成功,记得要将C:\WINDOWS\Temp\SQLSETUP\BIN\SCM.EXE一并清除;

9)卸载干净后,如果怕再次安装出错,那就建议按默认路径安装,注意一定不要自己起中文安装路径;

10)如果安装不成功,还可以通过C:\WINDOWS\sqlstp.log查看安装不成功的原因,这个是最利于解决问题的了;

八、好了,如果安好后,记得打补丁哦!我装的SP4网上都有的。切记:下载后,执行的时候是解压,要在解压后的目录中再次执行setup.bat才是真正的安装。

 

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作