SQL Server 2000安装完成后的核心设置,是围绕身份验证模式、服务启动、网络协议、数据库文件规划与安全基线展开的系统化配置,重点在于把安装时未细化的默认项目调整为生产可用状态。 这台老伙计虽然退出主流支持多年,但仍在不少工厂、医院和机关单位的角落柜里默默跑着,配置得好不好,直接决定后续会不会突然闹脾气,下面按操作顺序逐层拆解。
安装完成后第一步:配置身份验证模式与sa密码
装完SQL Server 2000后,第一件事不是急着建库,多数安装包默认采用Windows身份验证模式,这会让旧版应用程序和跨平台客户端连接时直接被拒。
sql2000身份验证模式怎么切换才能兼容旧客户端
打开企业管理器,右键点击服务器节点,选择“属性”,切换到“安全性”选项卡,这里能看到“身份验证”区域的单选按钮,默认选中的是“仅Windows”,需要改选为“SQL Server和Windows”,即混合验证模式。
切换后系统会提示需要重启服务才能生效,此时别急着重启,先把下面的sa密码处理掉。
sa账号是SQL Server 2000的最高权限账号,安装时如果没设置密码或密码太简单,相当于把服务器大门钥匙挂在门口,在“安全性”选项卡下方点击“审计级别”旁边的按钮进入“登录”管理,双击sa账号,输入强密码,勾选“强制密码策略”(如果系统支持),据微软官方产品支持信息,无论是否连接内网,sa空密码都是黑客扫描的首选目标,这个习惯必须改。
操作顺序建议:先改验证模式,再改sa密码,最后重启SQL Server服务。
初次启动必须确认的服务依赖关系
SQL Server 2000的安装完成后,服务器上会多出几个Windows服务:MSSQLSERVER(数据库引擎)、SQLSERVERAGENT(作业调度与警报)、Microsoft Search(全文索引)以及Distributed Transaction Coordinator(分布式事务)。
打开“服务”管理控制台,确认这几个服务启动类型正确:
- MSSQLSERVER设为“自动”,这是核心引擎,不启动一切无从谈起。
- SQLSERVERAGENT设为“自动”,依赖MSSQLSERVER,负责备份作业和计划任务,如果服务器不跑任何代理作业,可设为“手动”,但绝大多数生产场景建议自动。
- Distributed Transaction Coordinator按需启用,涉及跨服务器事务时必须运行。
建议在“SQL Server服务管理器”中将“启动时自动启动服务”复选框勾上,避免服务器重启后数据库引擎掉线。
开启sql2000远程连接访问的完整设置路径
本地能用不代表别人能连,SQL Server 2000默认的网络配置偏向保守,远程连接连不上是最常见的安装后问题。
远程连接前必须开启的TCP/IP协议
从“开始菜单”找到“SQL Server 2000”程序组,打开
“服务器网络实用工具”,在“常规”选项卡中会看到当前启用的协议列表,默认情况下,只有“命名管道”启用,TCP/IP处于禁用状态。
选中“TCP/IP”,点击“启用”,然后点击“属性”按钮,确认默认端口为1433,如果你的服务器上同时装了多个实例或端口被占用,这里可以改成自定义端口,但客户端连接字符串必须同步修改,建议除非必要不要改。
改完协议后,打开“客户端网络实用工具”,确认客户端也启用了TCP/IP协议,否则连接时依然会走命名管道,容易因权限问题失败。
防火墙与端口连通性验证
Windows防火墙或第三方安全软件会拦掉1433端口的入站请求,在Windows防火墙的高级设置中,新建入站规则,允许TCP端口1433通过,同时SQL Server 2000还使用UDP 1434端口做实例侦测,局域网环境下建议一并放行,否则使用“服务器名称”连接时可能超时。
验证连通性:在客户机上打开命令提示符,输入telnet 服务器IP 1433,如果光标进入空白闪烁状态,说明网络通畅,若提示“无法打开连接”,排查顺序为:服务器端SQL Server服务是否启动、TCP/IP协议是否启用、防火墙是否拦截。
无法访问时的排查顺序
按照行业共识,sql2000远程连接无法访问的问题,多数情况下出在三个环节,按顺序检查能省不少时间:
- 第一步检查SQL Server服务状态,服务没启动一切免谈。
- 第二步检查服务器网络实用工具里TCP/IP是否启用并监听1433端口。
- 第三步检查防火墙出站入站规则和路由器端口映射。
- 第四步检查客户端连接类型的设置,确认用的是TCP/IP而不是命名管道。
- 第五步确认sa账号未被锁定且密码正确。
内存与数据库文件的初次调优
SQL Server 2000安装完成后采用动态内存管理,默认会使用大部分可用物理内存,这在专用数据库服务器上问题不大,但如果同一台机器还跑着其他业务系统,系统可能因内存竞争而频繁交换页面文件。
限制max server memory防止资源抢占
在企业管理器中右键服务器,选择“属性”,切换到“内存”选项卡,可以看到“动态配置”区域有两个滑块:最小查询内存和最大服务器内存,系统默认最大内存设为物理内存总量,这意味着SQL Server会逐渐吃满可用内存且不主动释放。
生产环境建议将最大服务器内存设置为物理内存的70%到80%(根据服务器可用内存计算),留出余地给操作系统和并发连接,设置方法是勾选“使用固定内存大小”,拖动滑块到目标数值,点击“确定”后无需重启即可生效。
tempdb与日志文件的物理安置
SQL Server 2000安装时会把数据文件和日志文件放在同一物理磁盘上,这对纯测试环境没问题,但生产环境IO瓶颈会很快暴露。
打开企业管理器,展开“数据库”,右键点击tempdb,选择“属性”,打开“数据文件”选项卡,tempdb默认文件名为tempdev.mdf,建议将其移到独立的物理磁盘或RAID分区,避免与用户数据库文件争抢磁盘IO,日志文件templog.ldf同理,最好与数据文件分离存放。
操作方式:
- 在“数据文件”选项卡中修改文件路径到目标磁盘的SQL Server数据目录下。
- 在“事务日志”选项卡中修改日志文件路径。
- 确认路径可由SQL Server服务账户访问,修改完成后重启服务,旧路径下的物理文件会被自动删除。
关闭自动收缩选项
SQL Server 2000的自动收缩功能看似方便,实际在生产环境中会引发严重的索引碎片和性能抖动,相当一部分老系统的性能问题都源于这个设置。
在每个用户数据库的“属性”对话框中,切换到“选项”选项卡,找到“自动收缩”复选框,务必取消勾选,对OLTP类型系统尤其重要,因为频繁的插入删除操作会让数据文件反复收缩和增长,产生大量碎片。
SQL Server 2000服务器安全加固操作
这台服务器通常在内网运行,但内网不等于安全,安装完成后的安全基线设置能减少后顾之忧。
删除不必要账号并收紧权限
企业管理器中,展开“安全性”下的“登录”,默认会有BUILTINAdministrators、sa以及可能在安装时创建的服务账号,检查登录列表中是否有已知不用的Windows账号或SQL账号,右键删除。
对于必须保留的账号,双击进入属性,在“数据库访问”选项卡中只授权其实际需要访问的数据库,并赋予最低权限角色。避免将sysadmin服务器角色授予普通应用账号,这是业内专家指出的最常见安全错误。
关闭SQL Server代理的邮箱功能
SQLSERVERAGENT服务在安装完成后默认允许通过MAPI发送邮件,但这个功能在多数老系统中并未配置邮件服务器,如果不用邮件通知,在“SQL Server代理”中右键选择“属性”,将“邮件会话”设置为“禁用”,可以减少依赖和潜在攻击面。
应用最新的Service Pack
虽然SQL Server 2000已停止主流支持,但微软官方发布过一个最终补丁包SQL Server 2000 SP4,安装完服务后建议确认服务器的版本号,在企业管理器中右键服务器查看“产品版本”,如果低于8.00.2039,需要手动安装SP4补丁,很多已知的堆溢出和权限提升漏洞都在SP4中得到修复,这一步不能省。
安装后常见异常与解决路径
配置完成后总会有奇奇怪怪的现象冒出来,这里列几个高频问题。
sa登录失败,错误代码18456
这个错误码在SQL Server 2000的日志里并不会区分具体原因,排查思路集中在两点:
- 确认服务器是否处于混合验证模式。
- 确认sa密码是否正确、账号是否被禁用。
注意SQL Server 2000 Enterprise Manager中无法直接查看sa账号状态,需要展开“安全性”下的“登录”,双击sa账号,查看“允许登录”单选框是否选中的是“允许”,如果是“拒绝”,改回后重启服务生效。
连接时提示“SQL Server不存在或访问被拒绝”
该提示多数不是SQL Server没装好,而是客户端服务器名称解析失败,在客户机SQL Server 2000的“客户端网络实用工具”中,把“启用协议”顺序调整为TCP/IP优先,同时在连接的服务器名称框中,换用IP地址形式IP,1433来测试连接,能快速定位是名称解析问题还是网络问题。
服务启动后自动停止
SQL Server 2000服务启动时会在错误日志中记录关键信息,错误日志位于安装目录下的MSSQLLOGERRORLOG文件,打开这个文本文件,末尾几条记录通常能直接指出失败原因,常见情况是文件路径无效、磁盘空间不足或sa密码策略与操作系统策略冲突。
Q&A:sql2000安装后配置疑问解答
问:安装时选错了身份验证模式,不想重装系统,怎么补救?
在企业管理器右键服务器选择“属性”,进入“安全性”选项卡,将身份验证模式从“仅Windows”切换为“SQL Server和Windows”,确认sa密码已设置,重启MSSQLSERVER服务即可,不重装,不动数据,切换过程对现有数据库无影响。
问:sql2000 sa密码忘记怎么办?
停止MSSQLSERVER服务,以单用户模式启动:在命令提示符中切换到SQL Server安装目录的MSSQLBinn下,执行sqlservr -m启动服务器,然后用Windows管理员身份打开查询分析器,连接成功后执行sp_password @new=NULL, @loginame='sa'将密码清空,再设置新密码,操作完成后正常重启服务即可恢复到普通模式。
问:生产服务器上实际同时连接的客户端数量在哪个位置设置?
SQL Server 2000没有独立的“最大连接数”配置项,连接数以许可证模式为准:在企业管理器右键服务器选择“属性”,切换到“连接”选项卡,勾选“用户连接限制”可以手动调整最大允许并发连接数,默认值0表示不限制,但实际上每个连接需要消耗内存资源,连接数超过80的时候,先排查应用代码的连接池释放问题,单纯调大数值并不能解决性能问题。
配置SQL Server 2000这个老系统,说到底就是把它的权限、协议、资源边界一项项理清楚,身份验证模式、TCP/IP协议、端口与防火墙、内存限制、数据库文件布局和sa强密码,这六件套搞定,后续日常运维顺畅很多,每一个设置项都有明确目的,不需要额外操作时不画蛇添足,这台数据库服务器就能安安稳稳继续服役。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/659711.html





