提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

今天帮客户安装某某软件,需要用到SQL Server数据库,之前一直是直接装个SQL Server 2000企业版完事的,但是觉得这个太庞大了,安装略显麻烦。客户使用的软件也不需要功能多复杂的SQL Server。

其实我想尝试一下SQL Server 2005 Express的,无可奈何的是那个软件太破旧了,只能用SQL Server 2000凑合用了,其实SQL Server 2000也有类似的“Express”版本的,那就是Microsoft SQL Server 2000 Desktop Engine (MSDE 2000),微软官方的下载地址在 这里 。两个版本CHS_MSDE2000A.exe和CHS_MSDE2000A_WinME.exe对于Windows XP及以上版本选择CHS_MSDE2000A.exe就可以了。

下载完成后双击运行,选择解压路径,该程序将解压所有安装文件到这个路径下:

安装MSDE2000 MSDE2000解压安装程序

然后到解压的路径下查找安装程序,双击setup.exe安装MSDE2000,在这步提示出错,并且安装程序自动退出,安装失败!

为了安全起见,要求使用强SA密码。请使用SAPWD开关提供同一密码。有关详细信息,请参阅自述文件。安装程序将立即退出。
MSDE2000要求使用强SA密码

这时我们需要找到安装目录下的setup.ini,修改为以下内容:

[Options]
SECURITYMODE=SQL
SAPWD=这里填写sa密码

完成以后,我们再次运行setup.exe就能够顺利安装MSDE2000了。除了修改setup.ini文件当然我们还可以以命令的方式运行安装包:

C:\MSDERelA>setup SAPWD="sa密码" SECURITYMODE=SQL

安装完成后通过开始,所有程序,启动,双击“服务管理器”。

SQL Server服务管理程序

找到右下角红方块的图标并打开,点击“开始/继续”绿色箭头来运行SQL Server。

运行SQL Server 2000

到这里,基本上就配置完成了,我们可以用 osql -U sa 命令来检查一下成果。

osql命令查询SQL Server版本

如何解决登录模式问题,我们知道MSDE2000没有企业版那么多功能强大的可视化操作工具用,但是有一些基本的命令工具比如 osql ,如果要解决登录模式问题的话,还得靠修改注册表来实现了,参考微软的KB文章 《HOW TO:验证和更改 MSDE 系统管理员密码》

决定了MSDE2000登录模式的秘密就在于HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode注册表项,默认情况下,对于 Windows 身份验证,LoginMode 注册表子项的值设置为 1。如果启用了混合模式身份验证,则此值为 2。

注册表修改SQL Server登录认证模式

要使用混合模式登录,请遵循下面的步骤:

1.停止MSSQLSERVER和相关的SQLSERVERAgent服务,你可以在控制面板管理工具中打开服务管理程序,或者在开始运行输入services.msc直接打开服务管理程序,找到相关服务,右击停止。或者使用下面的命令:

net stop MSSQLSERVER
net stop SQLSERVERAgent

2.运行regedit打开注册表编辑器,找到LoginMode项,如果是默认安装的,其路径为HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer,如果是实例安装的,路径为HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\

双击LoginMode项,在DWORD 编辑器中选择16进制,值为2,然后点击确定。

注册表修改SQL Server登录模式为混合模式

3.启动刚才停止的MSSQLSERVER和相关的SQLSERVERAgent服务,使更改生效。可以使用下面的命令:

net start MSSQLSERVER
net start SQLSERVERAgent

参考文档