说实话,看到这个标题,我第一反应是愣了一下。都2024年了,还有人要在Win10上装SQL Server 2000?那玩意儿可是2000年发布的,比很多读者的年龄都大。但转念一想,还真有不少人需要这么干——老单位的生产系统还在跑,某些政府项目的数据接口只认这个老古董,或者手头有本教材还拿SQL2000当教学工具。甭管什么原因,既然有人问,咱就好好聊聊这事。

先说结论:Win10上装SQL2000,不是不行,但得看运气加技巧。微软官方白纸黑字写着不支持,可实际上,很多人在Win10专业版或企业版上成功跑起来了。关键在于你装的是哪个版本。SQL2000有四个大版本:标准版、企业版、个人版、开发版。其中个人版兼容性最好,很多Win10用户都是拿它装成功的。你要是手头只有企业版的光盘镜像,那难度直接翻倍,大概率会卡在安装界面第一步,连下一步都点不动。
具体操作步骤,我按实战顺序给你捋一遍。第一步,右键点击安装程序setup.exe,选择属性,在兼容性选项卡里勾选“以兼容模式运行这个程序”,下拉菜单选Windows XP (Service Pack 2) 或者干脆选Windows 98/Windows Me。这一步不是玄学,是真的能绕过很多安装器的检测逻辑。第二步,右键选择“以管理员身份运行”,别嫌麻烦,UAC权限不够的话,装到一半会突然报错退出,前功尽弃。第三步,如果安装程序弹出一个“程序兼容性助手”的窗口,别点“在线查找解决方案”,直接选“运行程序”,让它硬着头皮往下走。
装到中间有个大坑,必须提醒你:SQL2000的安装向导在检测系统时会报“无法在64位操作系统上安装”。这时候别慌,这不是死路。解决办法有两个,一个是去下载一个叫“SQL2000个人版64位补丁”的小工具,名字不固定,搜“sql2000 on x64”能找到一堆论坛帖子里的资源。另一个更省事的方法,是直接找一份“SQL2000绿色免安装版”,解压后运行批处理文件注册服务,虽然功能阉割了一些,但基本查询和存储过程都能跑。
装完之后,你以为就完事了?太天真。Win10上跑SQL2000,真正的麻烦在“服务”这一层。SQL2000默认的服务名是MSSQLSERVER,装好后去服务管理器里看,十有八九是“已停止”状态。你手动启动,它会报“服务没有及时响应启动或控制请求”。这时候得打开注册表编辑器,定位到HKEYLOCALMACHINESOFTWAREMicrosoft SQL Server实例名MSSQLServer,把LoginMode的值从0改成2,也就是混合认证模式。改完重启服务,多半就能起来了。要是还不行,去控制面板的“程序和功能”里,把“.NET Framework 3.5”勾上装上,很多老软件在Win10上趴窝都是缺这个。
还有一个很多人忽略的细节:SQL2000的客户端工具“企业管理器”和“查询分析器”,在Win10上打开会花屏或者字体发虚。这其实是高DPI缩放搞的鬼。右键点击快捷方式,属性里选“兼容性”,点“更改高DPI设置”,勾选“替代高DPI缩放行为”,缩放执行选“系统”。弄完字体就正常了,不然满屏的锯齿看着眼睛疼。另外,SQL2000默认端口是1433,Win10防火墙默认会拦,记得去“允许应用通过防火墙”里把sqlservr.exe加进去,不然远程连接数据库直接超时。
说到连接,很多人装完SQL2000后,用别的机器连不上,第一反应是防火墙,其实还有个更隐蔽的坑:SQL2000默认只开启“Windows身份验证”,你得在企业管理器里把“SQL Server和Windows身份验证模式”打开,然后重启服务。这个选项藏在服务器属性的“安全性”选项卡里,找起来有点隐蔽,但找不到的话,用JDBC或者ODBC连的时候永远报“用户登录失败”。我见过好几个同事卡在这个地方,折腾半天发现只是没切认证模式。
我得说句掏心窝子的话。如果你不是非用SQL2000不可,真别跟自己过不去。这老家伙不支持Unicode,存个中文乱码是家常便饭;没有备份压缩功能,一个几G的库导出来能撑爆硬盘;更别提它跟现在主流的ORM框架、连接池基本不兼容。你要是为了跑老项目,建议用虚拟机装个Win2003或者XP,里面装SQL2000,稳如老狗。要是只是学习用,直接装SQL Server 2019 Developer版,免费,功能全,还能用Docker跑。但你要是铁了心要在Win10上装,那就按我上面说的步骤来,记住三个关键词:兼容模式、管理员运行、改注册表。祝你成功,也祝你的老数据库早日退役。


