简介这份资源是面向数据库初学者与运维人员的 SQL Server 2005 安装图解教程重点解决版本选择、环境准备与补丁升级等入门难题。内容围绕 Enterprise、Standard、Workgroup、Developer、Express 五个版本的适用场景展开并说明软件平台对 Windows Installer 3.1、MDAC 2.8 SP1 及 .NET Framework 2.0 的要求同时提示硬件门槛较 SQL Server 2000 有所提高。教程还覆盖与 SQL Server 2000 共存时的实例设置、安装前关闭杀毒软件等注意事项并给出 SQL Server 2005 SP3 补丁如 KB955706的图文安装过程。资源包为 1 个 docx 文档约 617KB以图文步骤形式呈现便于对照操作。目前已有 363 人学习适合需要快速完成 SQL Server 2005 部署与补丁升级的读者参考。1. 从一台老工控机说起为什么还有人要装 SQL Server 2005上周帮一个做产线数据采集的朋友收拾一台老工控机系统是 Windows XP Embedded跑着一套十几年前写的 MES 采集程序数据库后端锁死在 SQL Server 2005。机器硬盘挂了备份只有一份.bak文件新机器装不上高版本 SQL Server因为那套程序用的是旧版 TDS 协议和image字段存二进制迁移成本比重新买台工控机还高。最后只能老老实实找安装介质重装 SQL Server 2005再打上 SP3 补丁。这就是 sql2005安装 这件事在今天的真实场景不是你想用是某个老系统、老设备、老代码把你按在那儿了。SQL Server 2005 本身在 2016 年就结束了扩展支持微软官方下载页早就撤了但工控、医疗设备、老 ERP 的存量还在。这篇文章不讲它有多老只讲怎么把它装上去、SP3 补丁怎么打、装完怎么验证、以及我踩过的那些坑。适合手里有老系统要维护、需要复现安装环境、或者单纯想搞明白这套流程的从业者。2. 装之前先把环境理清楚版本、组件与前置依赖2.1 版本选择Express、Developer 还是 StandardSQL Server 2005 的安装介质分好几个版本选错了后面全是麻烦。常见的有 Express免费4GB 库上限1GB 内存、Developer功能全但不能商用、Standard/Enterprise商用按 CPU 授权。工控机上跑采集程序数据量不大Express 通常够用但如果程序里用了 SQL Agent 作业或者数据库镜像Express 直接不支持装到一半功能缺失程序报错你还得重来。判断方法很简单看老程序的连接字符串和功能依赖。如果它调用了msdb里的作业、用了Database Mail、或者依赖SSIS那就必须上 Developer 或 Standard。我一般会先在测试机上装 Developer 版跑一遍确认功能都正常再决定生产用哪个版本。版本库大小上限内存上限SQL Agent适用场景Express4GB1GB无小型采集、单机应用Developer无OS 上限有开发测试、功能验证Standard无OS 上限有生产环境、商用2.2 前置依赖IIS、.NET 与 MSXMLSQL Server 2005 安装程序会检查一堆前置组件缺一个就卡在“先决条件检查”那一步。最常见缺的是IIS如果你要装 Reporting Services必须提前装好 IIS 和 ASP.NET。不装 RS 的话可以跳过。.NET Framework 2.0安装程序自带但有些精简版系统里被裁掉了需要手动补。MSXML 6.0很多老系统里没有安装程序会提示直接点“安装”让它自己装就行。SQL Server Native Client如果机器上已经有旧版先卸干净否则安装程序会报“已安装更高版本”然后退出。我一般会在装之前跑一遍regedit检查HKLM\SOFTWARE\Microsoft\Microsoft SQL Server下有没有残留的实例键。有的话先备份再删不然新装实例名冲突装完服务起不来。2.3 安装介质与补丁的匹配关系SQL Server 2005 的补丁是累积的SP3 包含了 SP1、SP2 的所有修复。但注意SP3 补丁包分 x86 和 x64 两个版本装错了会提示“不是有效的 Win32 应用程序”或者直接拒绝安装。怎么看系统架构在命令行跑echo %PROCESSOR_ARCHITECTURE%输出x86就是 32 位AMD64就是 64 位。工控机大多是 x86但有些新换的主板跑的是 x64 系统别想当然。另外SP3 补丁包有“Express 版专用”和“通用版”的区别。Express 版补丁只能打在 Express 实例上通用版可以打在 Developer/Standard 上。下错了补丁安装程序会报“此补丁不适用于当前实例”。3. 安装 SQL Server 2005 主程序从挂载到实例配置3.1 启动安装与先决条件检查把安装介质挂载或解压后运行servers\setup.exe。如果是 ISOWindows 10 以上可以直接双击挂载老系统用虚拟光驱工具加载。启动后选“服务器组件、工具、联机丛书和示例”接受许可条款然后进入先决条件检查。这一步会列出缺失的组件。不要跳过尤其是“IIS 功能要求”和“ASP.NET 版本注册要求”。如果只是装数据库引擎这两项可以忽略但如果要装 Reporting Services必须先把 IIS 装好否则后面 RS 配置会失败。检查通过后输入产品密钥Developer 版可以跳过填实例名。默认实例就是机器名命名实例自己起一个比如SQL2005。我一般用命名实例方便和后来装的高版本共存。3.2 服务账户与排序规则的选择服务账户这一步很多人直接下一步但这里有个坑SQL Server 2005 默认用内置账户Local System或Network Service在域环境里访问网络共享会出问题。如果老程序需要访问网络路径或者跨库查询建议改成域用户账户并授予“作为服务登录”权限。排序规则Collation选Chinese_PRC_CI_AS这是简体中文环境最常用的。如果老程序的数据库备份是从别的服务器恢复的排序规则必须一致否则恢复时报“排序规则冲突”。不确定的话先问清楚原服务器的排序规则或者用SELECT SERVERPROPERTY(Collation)在旧库上查一下。-- 在旧服务器上查排序规则 SELECT SERVERPROPERTY(Collation) AS ServerCollation;3.3 身份验证模式与管理员指定身份验证模式选“混合模式”并设置sa密码。纯 Windows 模式在工控环境里很麻烦老程序经常用 SQL 账户连接。sa密码设复杂点但别用特殊字符有些老客户端驱动对特殊字符支持不好。“指定 SQL Server 管理员”这一步把当前系统管理员和sa都加进去。装完后如果发现连不上先用 Windows 身份验证进去检查sa是否被禁用。3.4 安装完成后的服务检查安装完成后打开“服务”管理器确认以下服务状态SQL Server (实例名)必须运行SQL Server Agent (实例名)Express 版没有其他版本必须运行SQL Server Browser如果用了命名实例必须运行否则客户端连不上如果服务启动失败先看事件查看器里的应用程序日志常见原因是权限不足或端口被占用。SQL Server 2005 默认用 TCP 1433 端口命名实例用动态端口靠 Browser 服务解析。-- 检查端口监听状态 netstat -ano | findstr :1433如果没有输出说明 TCP/IP 协议没启用。打开“SQL Server 配置管理器”在“网络配置”里把 TCP/IP 启用重启服务。4. 打 SP3 补丁顺序、参数与回滚准备4.1 补丁安装前的备份动作打补丁之前必须备份系统盘和数据库文件。SP3 安装过程中会替换大量系统 DLL 和 SQL Server 二进制文件万一失败回滚很麻烦。我一般会做两件事用系统自带的备份工具创建一个还原点如果是 Windows 7 以上。把MSSQL\Binn目录整个复制一份到别的盘。数据库文件本身不会被动但master、msdb、model这三个系统库会被升级升级失败会导致实例起不来。4.2 SP3 补丁的安装参数与静默模式SP3 补丁包解压后运行setup.exe。图形界面一路下一步就行但如果是批量部署或者远程操作可以用静默模式-- 静默安装 SP3不重启 SQLServer2005SP3-KB955706-x86-ENU.exe /quiet /norestart参数说明/quiet无交互适合脚本调用/norestart装完不自动重启手动控制重启时机/allinstances给所有实例打补丁不指定的话只打默认实例如果是命名实例需要加/instancenameSQL2005。不加的话补丁会找不到实例报“没有可升级的实例”。4.3 补丁安装后的版本验证装完补丁用 SQL 查询版本号确认SELECT VERSION;SP3 的版本号应该是9.00.4035或更高。如果还是9.00.1399RTM 版本说明补丁没打上。常见原因是补丁包和实例版本不匹配或者安装过程中被中断了。-- 更详细的版本信息 SELECT SERVERPROPERTY(ProductVersion) AS Version, SERVERPROPERTY(ProductLevel) AS ServicePack, SERVERPROPERTY(Edition) AS Edition;ProductLevel显示SP3才算成功。4.4 补丁回滚的后悔药SP3 装完如果发现老程序不兼容可以回滚。控制面板里找到“SQL Server 2005 SP3”卸载或者用补丁包自带的/uninstall参数。但注意回滚只能回到打补丁前的状态如果中间又装了其他组件回滚可能失败。所以打补丁前的那份Binn目录备份就是后悔药实在不行直接覆盖回去。5. 避坑与排查装不上、连不上、跑不起来5.1 安装程序卡在“先决条件检查”不动现象进度条走到“先决条件检查”就停住或者报“无法获取系统配置”。原因最常见的是 WMI 服务损坏或者系统里的 MSXML 版本冲突。老工控机装过各种采集软件MSXML 被替换过好几轮。解决在命令行跑winmgmt /verifyrepository如果报“不一致”跑winmgmt /salvagerepository修复。MSXML 的话去控制面板卸载所有 MSXML 4.0/6.0重新装一遍微软官方版。5.2 安装到一半报“无法写入注册表项”现象安装进度到 70% 左右弹窗报“无法写入HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\...”。原因当前账户不是管理员或者注册表权限被安全软件锁了。有些工控机上装了老版杀毒软件会拦截注册表写入。解决右键setup.exe以管理员身份运行临时关闭杀毒软件如果还不行用regedit手动给Microsoft SQL Server键授予当前用户完全控制权限。5.3 装完连不上报“无法连接到服务器”现象SSMS 里输入localhost或.\SQL2005报“无法连接错误 26”。原因TCP/IP 协议没启用或者 SQL Browser 服务没启动。命名实例必须靠 Browser 解析端口。解决打开 SQL Server 配置管理器启用 TCP/IP重启 SQL Server 服务启动 SQL Browser 服务防火墙放行 1433 和 1434 端口。-- 放行防火墙端口命令行 netsh advfirewall firewall add rule nameSQL2005 dirin actionallow protocolTCP localport1433 netsh advfirewall firewall add rule nameSQLBrowser dirin actionallow protocolUDP localport14345.4 SP3 补丁装完老程序报“不支持的身份验证”现象补丁前程序能连补丁后报“用户登录失败”或“不支持的身份验证模式”。原因SP3 加强了安全性默认禁用了旧版 TLS 和弱加密算法。老程序如果用的是 SQL 身份验证但密码加密方式太老会被拒绝。解决在 SQL Server 配置管理器里把“强制加密”关掉如果程序用的是sa检查sa是否被禁用用 Windows 身份验证进去启用它。-- 启用 sa 账户 ALTER LOGIN sa ENABLE; ALTER LOGIN sa WITH PASSWORD 新密码;5.5 恢复备份时报“排序规则冲突”现象从旧服务器恢复.bak文件报“无法解决 equal to 操作的排序规则冲突”。原因新装的 SQL Server 排序规则和备份源不一致。解决重建实例排序规则选和源一致或者用ALTER DATABASE改排序规则但改完可能影响现有数据慎用。-- 查看当前数据库排序规则 SELECT name, collation_name FROM sys.databases;6. 装完只是开始让老实例跑稳的几个习惯装完 SQL Server 2005 和 SP3能连上、能恢复备份只是第一步。老实例跑在工控机上最怕的是磁盘满、日志暴涨、内存泄漏。我一般会做三件事第一把数据库恢复模式从“完整”改成“简单”除非程序明确要求日志备份。工控机磁盘小完整模式下一周就能把日志撑爆。ALTER DATABASE 你的库名 SET RECOVERY SIMPLE;第二设置自动收缩和定期重建索引。老程序写数据频繁索引碎片涨得快查询越来越慢。用 SQL Agent 建个作业每周跑一次。-- 重建所有索引 EXEC sp_MSforeachtable command1DBCC DBREINDEX(?);第三把tempdb移到单独的分区或者至少设个大小上限。SQL Server 2005 的tempdb默认自动增长老程序如果用了大量临时表能把系统盘写满。-- 查看 tempdb 文件位置和大小 SELECT name, physical_name, size FROM tempdb.sys.database_files;还有一个血泪经验装完 SP3 后把安装介质和补丁包一起归档到工控机本地。下次硬盘挂了不用满世界找下载链接。我见过太多人装完就把 ISO 删了结果一年后重装发现网上资源全失效了。从那以后我每次给老系统装 SQL Server 2005都会在 D 盘建一个Setup目录把主程序、SP3 补丁、Native Client、甚至 SSMS 一起扔进去再写个readme.txt记下实例名、排序规则、sa 密码提示。这套习惯帮我省了至少三次通宵。希望帮到你。本文还有配套的精品资源点击获取