SQLserver2000地狱

提起这个话题,我就象个怨妇,要一肚子话要说,都是该死的SQLserver2000,这玩意就是一个地狱,里面住着不知名的恶魔,谁知道哪天它就会溜出来将你害掉。
如果你有幸看到此文并因此受到我的加持而免遭恶魔侵扰,请赞美吧,美丽的天使:米迦社。
故事开始:
这是南国,典型的亚热带气候,才过3月,已经潮湿闷热,让人不堪忍受,我却要在这样的环境下,挤在如此狭小的办公桌旁不断做着该死的联调工作。昨晚我已经加班了,今天连吃中饭的胃口都没有,全是因为咱们这套系统要赶着上线。只是上线说起来容易,做起来难呀!这不,遇到了麻烦了吧。什么麻烦?嘿嘿,因为南国的这个单位的网络环境是外网网段+内网网段模式,我的IBM服务器挂在外网,我的新闻搜索服务器却只能挂在内网,两个网段不一样哟,偏偏要让两台服务器的SQL SERVER2000数据库互访。如此复杂的网络环境,我在北国的公司可没做过测试,虽然南国提供了一个网络IP映射地址来解决互访的问题,可是,理论上可行的互访就是连不上,急死个人哦!!!!问谁。。谁也不清楚。
互访不通的表相就是:和访问的SQL数据库是非信任关系。你可以用这些个字眼在GOOGLE上查,基本上你会知道,有一群孩子会呀呀学语的说:“很多初学者都范这个错误!在安装的时候选择混合认证就没事。如果一不小心选了windows认证,那么就要设置一下”或者是:“你只要在SQL>>SEVER的属性中的,安全性的用户登陆方式和审查级别更改了就可以了,(审查级别为无,用户登陆方式改为双重认证模式>>系统,还有启动服务器帐户为系统帐户”天啊,难道就不能有点别的,我确实知道这些也能导致非信任,可是事情哪有小孩想的那么简单。咱们情况复杂点,用UDL文件就可以测试连接成功,在.net程序下直接就是非信任,这让我一度十分郁闷,我甚至花了一早上写了个小程序来测试数据库连接字符串,那个程序还用下拉框来区分SQL和OLEDB方式,事实上,这个基本上是没用的,不通依然是不通。
饿了一中午,人总是有点犯傻,我决定把SQLserver2000给干掉,卸载、重启动、删除为卸载文件,重新装SQLserver2000、测试、报错,在这样重复N遍只后,我百无聊赖的想,莫非还是网络有问题,去运营部请大师们一检查,嘿嘿,为什么1433端口没监听,为什么?我知道为什么,这个端口不是一直都是运行服务就启动的吗?好吧,既然没开启,我就换一个开启的端口吧,但是,想象的美好不见得现实就那么美好,依然不通。会和SP包有关系吗?试着打打又没坏处,找个SP4打打,嘿,居然打不上,报:“指定实例名无效”,你也可以把这个词搜搜,会有好多人告诉你,这是因为你的SQL已经装过了MDSE,所以不用再装了,甚至有人说,这是因为你下的MDSE安装包不全。。不一而足。但是没能安装MDSE是事实,自己把SETUP.INI安装配置文件重新改改吧,嘿,又报强SA密码出错,看来,我已经深陷地狱了。
我开始怀疑,是不是有人把这个新闻服务器的SQL卸掉过,然后因为MDSE装不上去,所以就撒手不管了,最后问题暴露在我的面前,也只有我倒霉来处理它,我就象一个侦探把黑幕分析的透彻详细。既然装不上MDSE,肯定是注册表里已经记下了以前MDSE的历史,好吧,咱们先从注册表开刀,按照MSDN上的说法,把SQL字眼的有关实例的键值全部KILL掉,只删的胆战心惊。再把SQL里DATA和BINN给杀掉,再装MDSE,恩,有点眉目,不是直接报“指定实例名无效”,而是报:“强SA密码出错”,好现象,把SA密码写在SETUP.INI里,哈哈,居然安装成功了,测试。。神啊,居然通了。我逃出来了。
PS:WIN2003只支持SQLserver2000SP3以上版本,所以如果不装MDSE,1433端口是无法正常通讯的,不能通讯的结果就是不能互访(但是在SQL里注册远程SQL服务器居然没问题。)但是如果不正确(什么叫正确?)删除SQLserver2000,结果就是象我一样,很难装上MDSE。
教教大家怎么KILL掉无法删掉的MDSE
(1)删除文件和文件夹
删除 MSDE 2000 实例数据和程序安装文件夹。您可以在以下注册表项路径下的 SQLDataRoot 注册表项值中找到默认实例数据文件夹的根文件夹信息:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/Setup
例如,删除默认实例的 MSDE 2000 数据文件夹:
/Program Files/Microsoft SQL Server/MSSQL/Data
例如,删除命名实例的 MSDE 2000 数据文件夹:
/Program Files/Microsoft SQL Server/MSSQL___FCKpd___1lt;INSTANCENAME>/Data
例如,删除默认实例的 MSDE 2000 程序文件夹:
/Program Files/Microsoft SQL Server/MSSQL/Binn
例如,删除命名实例的 MSDE 2000 程序文件夹:
/Program Files/Microsoft SQL Server/MSSQL___FCKpd___3lt;INSTANCENAME>/Binn
(2)清理注册表
1.对于 MSDE 2000 默认实例,删除以下项:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer
2.对于 MSDE 2000 命名实例,删除以下项:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/<INSTANCENAME>
3.如果以下注册表项指向 MSDE 2000 实例 ProductCode,请删除 InstanceComponentSet.x 值。例如,InstanceComponentSet.1 有一个与 Sqlrun01.msi 这一 ProductCode 相匹配的值:

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/Component Set/InstanceComponentSet.1

4.删除 SQLServer 服务注册表项。

对于 MSDE 2000 默认实例,删除以下项:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSSQLServer

对于 MSDE 2000 命名实例,删除以下项:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSSQL$<INSTANCENAME>


5.

删除 SQLServerAgent 服务注册表项:

对于 MSDE 2000 默认实例,删除以下项:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SQLServerAgent

对于 MSDE 2000 命名实例,删除以下项:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/SQLAgent$<INSTANCENAME>

 

  3:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Bomb_Leo 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。hei hei
 
怎么解决“强SA密码无效呢?”
在MDSE的安装配置文件SETUP.INI里写下:
[option]
SECURITYMODE=SQL
SAPWD=sa
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值