
简介SQL Server 2005 安装图解教程与 SP3 补丁安装图文教程面向需要从 SQL Server 2000 迁移或初次部署 SQL 2005 的数据库运维人员、开发者和系统集成工程师。教程以图文对照方式完整覆盖版本选择、软硬件环境检查、实例配置、安装流程与补丁升级等环节重点讲解企业版、标准版、工作组版、开发版、免费版五个版本的适用场景并针对已有旧版数据库的环境给出命名实例创建方法避免默认实例指向冲突同时给出平台组件与硬件配置要求帮助读者提前规避安装失败风险。补丁安装部分详细演示 SP3 对应补丁安装包的解压、执行与重启验证等操作流程并提醒安装前关闭杀毒软件可有效提升数据库安全性与稳定性。资源包为单个 docx 文档共 1 个文件包体大小 617KB页面排版清晰、图文步骤完整适合逐页跟随操作。已有 363 人学习下载可作为数据库部署与补丁升级的实用参考资料。1. 为什么还要装 SQL Server 2005老库新装最怕的就是自作聪明2024 年还在折腾 sqlserver2005 安装多半不是闲得慌而是 ERP、MES、人事系统这类老系统把数据库实例和连接字符串焊死在里面了。SQL Server 2005 的生命周期早就结束但不少行业软件从 RTM 一路打补丁到 SP3稳定得让企业不敢换。这篇笔记把我自己装 SQL Server 2005 SP3 补丁的完整过程按图解思路拆出来从环境准备、实例配置、身份验证到补丁升级、版本验证和五个最常见的翻车点照着点鼠标就行。如果你手里正好有一份“sql2005安装”的离线安装包这篇可以直接当操作手册用不用再去搜索引擎里翻那些写一半的博客。2. 装前准备SQL Server 2005 对环境的要求和补丁选型2.1 硬件与操作系统兼容性矩阵和虚拟机建议SQL Server 2005 的年代基准是 Windows Server 2003 / XP官方支持范围里没有 Windows 10/11。但这不意味着新版系统上完全装不了很多开发机为了跑旧项目就是这么干的只是要开兼容模式、忍受偶发闪退。我更推荐的做法是用 VMware 或 VirtualBox 装一台 Windows Server 2003 SP2 或 XP SP3再把 SQL Server 装进去。这样做的原因很直接老实例通常还要跑 SQL Server Agent、DTC 分布式事务虚拟机里能最大程度还原生产环境的网络和权限结构快照随时可以当后悔药吃。操作系统安装结果推荐程度Windows Server 2003 SP2安装顺畅SP3补丁无压力生产标准Windows XP SP3安装顺畅注意性能计数器和防火墙可用Windows 7 / 10 兼容模式能装但SP3偶尔不认实例仅测试Windows Server 2016不官方支持安装后可能存在性能异常不推荐硬件方面我一般按“CPU 单核、内存 1GB、数据盘单独分区”来给虚拟机分配。SQL Server 2005 安装本身只吃 350MB 左右空间但加上系统、补丁、数据库文件建议预留 4GB 以上。别听网上的“精简系统跑得快”SQL Server 2005 对系统组件依赖比较重阉割过的系统会死在性能计数器或 WMI 上。2.2 补丁选型SP3 与 SP4 的边界SQL Server 2005 最后一个服务包是 SP4但很多行业软件和第三方备份工具验证的是 SP3 基线。原因是指定 SQL Server 2005 SP3 补丁的应用系统测试覆盖只到 SP3升到 SP4 后虽然兼容性理论上更好却可能出现存储过程行为变化或备份兼容问题。所以项目文档里如果写了 SP3就老老实实装 SP3别手欠。SP3 补丁的真实文件名一般是 SQLServer2005SP3-KB955706-32bit-CHS.exe对应中文版 KB 955706。它会替换 20 多个核心二进制并升级 SQL Server 的工具集。安装前要注意你的实例是 32 位还是 64 位64 位实例必须用 64 位补丁包否则向导会在实例检测阶段直接失败。2.3 文件完整性校验certutil 不是可选项从老网盘下载安装包最怕碰到“装到 80% 报组件文件不匹配”。你要做的第一件事不是双击 setup.exe而是先做哈希校验。在 Windows 的命令行里可以用 certutilcertutil -hashfile D:\SQL2005_SP3\SQLServer2005SP3-KB955706-32bit-CHS.exe SHA1命令会把文件计算出的 SHA1 值输出来。拿到这个值和发布页给的标准值对一遍如果不一致直接删掉重新下载。你可能会觉得 MD5 就够了但 MD5 碰撞已经不是新闻用 SHA1 更稳如果发布页给的是 MD5也可以用certutil -hashfile D:\SQL2005_SP3\SQLServer2005SP3-KB955706-32bit-CHS.exe MD5校验完成后进入下一步。这一步花不了两分钟但能帮你省下 40 分钟的重装时间属于最划算的预防动作。2.4 安装顺序先 .NET Framework 2.0 还是先装数据库SQL Server 2005 的安装程序依赖 .NET Framework 2.0 和 MSXML6。很多人在纯净 Windows Server 2003 上双击 setup.exe看到“配置目标失败”就懵了其实只是没装前置组件。常见做法是先安装 .NET Framework 2.0 运行库再安装 MSXML 6.0最后运行 SQL Server 安装程序。如果你用的是原版光盘镜像这两个组件在镜像的 redist 目录里都有不需要另外去微软官网找已经下架的旧链接。顺序错了也不会死安装程序组件检查会提示你缺哪个补上重开就行。3. 图解 SQL Server 2005 安装全过程从实例配置到服务账户3.1 启动安装程序与“服务器组件”选择解压或挂载镜像后进入 sql2005 的目录找到根目录下的 setup.exe。注意不要一上来就跑 tools 目录下的某个 exe那是单独的客户端组件。双击 setup.exe 后稍等几秒出现“SQL Server 2005 安装向导”的欢迎页。第一页是“最终用户许可协议”勾选“我接受许可条款”下一步。然后出现“组件选择”页这里有三个选项“安装 SQL Server 2005 服务器组件和工具”装数据库引擎、SSMS、Agent选择这个。“安装客户端工具”只装管理工具适合不需要数据库的情况。“安装文档和示例”额外文档没要求就别装。在我们场景下选第一项。下一步后如果系统没装过前置安装程序会弹出“系统配置检查”的表格看到有失败项先截图记下来不要急着继续。我在这一页见到最多的就是第 5 章要讲的“性能监视器计数器”问题。3.2 实例名称默认实例与命名实例的选择组件选择完后来到“实例名”页。SQL Server 2005 支持一台机器上跑多个实例默认实例实例名是 MSSQLSERVER命名实例是你自己起的名字。这里的判断标准只有一个老应用的连接字符串是怎么写的。连接字符串写法实例类型Server192.168.1.10默认实例Server192.168.1.10\SQL2005命名实例 SQL2005Server.\SQLEXPRESS命名实例 SQLEXPRESSServerMACHINENAME,1433默认实例 指定端口比如应用是某个 2008 年的财务系统连接字符串里只有 Server192.168.1.10没有斜杠那你就选默认实例。如果字符串里写了 Server192.168.1.10\ERP那选命名实例 ERP否则老系统连不上。我一般会给测试机用命名实例生产机用默认实例。主要原因是默认实例的服务名更短sqlcmd 和备份脚本里写起来简洁不容易敲错。但如果生产环境已经存在其他 SQL Server 实例必须用命名实例来做隔离。3.3 服务账户与身份验证模式别在这页埋雷这一节是很多人踩坑的地方。安装向导的“服务账户”页让你填 SQL Server 和 SQL Server Agent 的启动账户。SQL Server 2005 没有后来版本那么多内置虚拟账号主要有以下选择“使用内置系统账户”下拉里有本地系统、网络服务、本地服务。单机环境我一般选本地系统。“使用域账户”选一个有权限访问网络资源的域账号跨机访问、群集环境必须用这个。如果你在域里并且之后要让 SQL Server 读其他机器的共享目录建议用域账户。否则不必制造一个固定密码管理的麻烦。身份验证模式在“身份验证模式”页选。老系统如果是用 SQL 账号比如 sa连数据库必须选“混合模式”。选混合模式后要设置 sa 密码。注意 2005 安装程序的密码策略服从系统复杂度如果旁边有“MSSQL 密码”策略警告直接设置强密码。别用 root123 之类的因为很多老应用会直接把 sa 密码写在配置文件里弱密码等于裸奔。安装完后再用 Windows 认证登录 SSMS把 sa 密码改成应用需要的值就好。3.4 排序规则中文环境别乱改排序规则决定字符串比较、中文存储行为的默认方式。中文版 SQL Server 2005 安装时默认会选 Chinese_PRC_CI_AS这是简体中文的标准配置。但是如果你手上的安装包是英文版安装程序通常会默认选 SQL_Latin1_General_CP1_CI_AS这会导致中文数据存入后出现乱码或排序异常。我的习惯是安装时在“排序规则设置”页手动确认选中 Chinese_PRC_CI_AS。如果你不确定当前实例的排序规则装完后执行下面这条命令SELECT SERVERPROPERTY(Collation);返回 Chinese_PRC_CI_AS 就正常。注意排序规则安装后不能直接修改除非重建实例所以这里一定不要偷懒跳过。如果你要配合某些港台系统可能要用 Chinese_Hong_Kong_Stroke_90_CI_AS那是另一个话题。3.5 安装目录数据文件别放系统盘安装向导里“错误报告”页可以默认到“安装路径”页时把“数据库文件目录”改到独立数据盘。SQL Server 2005 的数据文件默认放在 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data日志文件同样在 C 盘。如果数据库增长很快系统盘迟早被撑爆而且备份还原都受影响。我会单独建一个 D:\SQLData 目录把数据和日志指过去。注意这个目录要存在并且安装账户要有完全控制权限。路径里不要带中文和空格2005 的老代码和系统存储过程在解析路径时偶尔会犯病。4. SP3 补丁安装升级前置与版本验证一条龙4.1 确认当前版本RTM 与 SP 级别的判断打补丁之前先确认自己站在哪个版本上。如果你是全新安装默认就是 RTM原始发布版可以直接打 SP3。但如果机器上装过某个 SP1/SP2 的正式环境镜像或者被人动过注册表直接打 SP3 有时候会提示“没有需要升级的组件”。所以第一件事是查版本。SQL Server 2005 自带命令行工具 sqlcmd。在命令提示符下跑sqlcmd -S . -E -Q SELECT SERVERPROPERTY(ProductLevel), SERVERPROPERTY(Edition)-E 表示 Windows 身份认证连接-Q 表示执行查询后退出。输出第一列 ProductLevel 会返回 RTM、SP1、SP2、SP3 或 SP4第二列返回版本类型。也可以更粗暴地看完整版本号sqlcmd -S . -E -Q SELECT VERSION这种输出更长把完整版本号打出来。你只要记一个基准SQL Server 2005 各版本的版本号是固定可查的。ProductLevel版本号说明RTM9.00.1399原始发布版SP19.00.2047Service Pack 1SP29.00.3042Service Pack 2SP39.00.4035Service Pack 3SP49.00.5000Service Pack 4如果查出来是 SP3 或 SP4就不用再装 SP3如果是 RTM 或 SP1可以继续。注意从 RTM 直接打 SP3 是允许的SP3 是累计包包含之前所有修复不需要先装 SP1/SP2。4.2 SP3 补丁包的安装流程与静默参数确认后找到补丁包 SQLServer2005SP3-KB955706-32bit-CHS.exe右键“以管理员身份运行”。补丁安装向导的前两页都是许可协议和更新检查点下一步即可。在“选择实例”页向导会列出这台机器上的所有 SQL Server 2005 实例包括数据库引擎、Analysis Services、Reporting Services。注意SP3 要求所有共享组件也必须升级否则实例升级可能失败。所以在实例列表里我只保留需要升级的实例其他共享组件保持默认打勾。如果嫌向导太慢可以静默安装。静默命令如下SQLServer2005SP3-KB955706-32bit-CHS.exe /quiet /allinstances /REBOOTPROMPTReallySuppress这句命令的含义是/quiet 静默安装不弹 UI/allinstances 升级所有 SQL Server 2005 实例和共享组件/REBOOTPROMPTReallySuppress 禁用安装完成后的重启提示。补充一个参数 /instance 可以指定实例名比如SQLServer2005SP3-KB955706-32bit-CHS.exe /quiet /instanceMSSQLSERVER /REBOOTPROMPTReallySuppress但这样只升级默认实例。如果你机器上有命名实例就必须用 /allinstances或者对每个实例各跑一次。注意静默安装没有进度条。你看到命令提示符卡住十几分钟不代表死机可能只是后台在编译替换二进制。这时候不要去强杀进程耐心等待。如果实在不放心可以同时打开任务管理器看补丁进程的 CPU 占用有活动就说明还在工作。4.3 安装后的版本验证ProductLevel 返回 SP3补丁跑完系统提示“完成”或者静默命令回到命令提示符。我建议重启机器尤其是 Windows Server 2003。重启后用 sqlcmd 再查一遍sqlcmd -S . -E -Q SELECT SERVERPROPERTY(ProductLevel), SERVERPROPERTY(Collation)这次 ProductLevel 应该返回 SP3。如果返回 SP2说明补丁只升级了一部分组件多半是之前装了 SP2 的某个预发布版本需要重新跑一次。如果返回 RTM说明补丁根本没起作用去看第 5 章。另外从这一步开始SQL Server 的冒烟日志会写到 C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG 目录。打补丁失败时先去这个目录找最后生成的 Summary.txt 文件那里面通常有明确的一句“Error String”。这个文件比任何博客的截图都有用。4.4 升级后必须做的两件事升级完成后SQL Server 服务一般会自动重启。但为了保险我会再执行一次完整的服务重启。在命令行下net stop mssqlserver net start mssqlserver如果你使用的是命名实例命令格式是 net stop mssql$实例名。注意 SQL Server Agent 也可能停止了需要单独启动net start SQL Server Agent (MSSQLSERVER)旧版本 Windows 服务窗口里显示的服务名通常带括号拼接时不要打错。然后是用户库兼容性的检查。SQL Server 2005 的兼容级别有两种语境80 兼容 SQL Server 200090 对应 SQL Server 2005。SP3 不会强行改变老数据库的兼容级别但如果你在低版本环境里做过备份迁移数据库可能已经变成 90。老应用如果依赖 80 行为建议确认一下SELECT name, compatibility_level FROM sys.databases;如果发现你的关键业务库被意外改成了 90而应用没测过可以手工改回ALTER DATABASE [YourDB] SET COMPATIBILITY_LEVEL 80;这属于需要验证的运维策略不是默认动作但多知道一条总比到时候束手无策强。5. 避坑与常见问题我把这台老库装了三遍才总结出的清单5.1 安装程序报“性能监视器计数器注册表项要求”错误现象setup.exe 进入“系统配置检查”后报 Performance Monitor Counter 注册表项要求失败点击“运行检查”后还是红色 X无法继续。原因SQL Server 2005 安装程序依赖 Windows 性能计数器来识别 CPU 和磁盘参数。精简版系统或卸载过某些软件后注册表里的 Perflib 计数器值被破坏导致检查不通过。解决在命令行执行 lodctr /R 重建计数器等命令完成后重启机器再回到安装程序。如果 lodctr 报找不到文件可以手动检查注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib确认 Last Counter 和 Last Help 的数值不是 0。注意这个命令只有在管理员权限下才有效普通命令行会提示拒绝访问。5.2 安装到一半提示“SQL Server 服务无法启动”现象安装进度条走到“SQL Server 服务启动”这一步弹窗说未能启动服务按“重试”好几次都失败。原因根因有两个一是安装账户权限不够比如你用了内置“网络服务”而它没有权限访问数据目录二是之前卸载过旧版本C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 目录下残留了 master.mdf 等文件新安装程序启动服务时读到旧文件冲突。解决先检查数据目录是否为空有旧库的话备份出来删掉。再把服务账户改成“本地系统”。如果仍失败打开日志看最后一句一般会写“Error: 17113”之类的文件访问错误跟着改目录权限就行。不要在一个错误上反复点重试因为它不会自动恢复。5.3 Windows 10/11 上安装程序闪退或卡在“SQL Server 2005 安装文件”解压现象在 Windows 10/11 上双击 setup.exe闪一下欢迎界面就退或者“正在解压”卡住很久CPU 占用为 0。原因setup.exe 是 2005 年的二进制和 Win10 的用户账户控制、DPI 缩放不兼容。卡住解压往往是因为安装程序尝试创建临时目录但被拒绝。解决做法是右键 setup.exe选择“属性”→“兼容性”→“以兼容模式运行”→Windows XP (Service Pack 3)同时勾选“以管理员身份运行此程序”。还不行就用指令静默安装setup.exe /qn注意这是 SQL Server 2005 setup 的静默参数会跳出最小化但能完整安装。如果静默也失败短平快的方案是在 VMware 里装 Windows Server 2003不跟新系统死磕。这不是服软而是老库用了十五年以上不值得为它破坏新系统的稳定性。5.4 SP3 补丁提示“在此计算机上未检测到 SQL Server 2005 的实例组件”现象双击补丁包后向导显示“No SQL Server 2005 instances or shared components were detected on this computer”直接退出。原因常见于 32 位补丁包想升级 64 位实例或者实例的注册表节点被安全软件清过。还有一种容易被忽略的情况SQL Server 是 Express 版而你下载的是企业版补丁包Express 实例不在企业版升级路径里。解决先用 SQL Server Configuration Manager 或 services.msc 确认实例还在运行再检查注册表 HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL 下的值。补丁包架构必须和实例位数一致64 位实例用 SQLServer2005SP3-KB955706-64bit-CHS.exe。如果注册表值存在但补丁不认只能备份数据库后重装实例再打补丁并保证实例和补丁用同一个语言包。5.5 安装成功后 SQL Server 配置管理器打不开现象SQL Server 2005 安装和 SP3 都成功但“SQL Server Configuration Manager”双击后没有任何窗口或提示“MMC 无法创建管理单元”。原因2005 的配置管理器实际上是一个 MMC 管理单元在较新 Windows 的 MMC 版本下兼容性很差如果 WMI 服务停止管理单元加载失败。在 Win10 上这个问题尤其普遍。解决不强行修复配置管理器。日常操作完全可以用“Windows 服务管理器”替代WinR 输入 services.msc找到 MSSQLSERVER 服务启动/停止。网络协议端口查看用 netstat -an | findstr 1433。如果你必须启用 TCP/IP可以看注册表 HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\SuperSocketNetLib\Tcp\Enabled 改为 1重启服务。改动前先确认实例名MSSQL.1 对默认实例命名实例对应 MSSQL.实例名加上数字后缀。这个操作是有效的不需要非得打开那个坏掉的 MMC。6. 装完后的第一件事确认备份目录、内存和远程连接6.1 三个基础配置和对应脚本装完 SP3 后别急着交工先做三个动作备份目录、内存上限、远程连接。SQL Server 2005 默认会吃掉服务器全部可用内存老机器很容易因此卡死。设置内存上限的 SQL 如下EXEC sp_configure show advanced options, 1; GO RECONFIGURE; GO EXEC sp_configure max server memory, 2048; -- 单位 MB建议设为物理内存的 60%-70% GO RECONFIGURE WITH OVERRIDE; GO备份目录可以写到注册表让 SQL Server 有统一的默认备份根目录USE master; GO EXEC xp_instance_regwrite rootkey NHKEY_LOCAL_MACHINE, key NSoftware\Microsoft\MSSQLServer\MSSQLServer, value_name NBackupDirectory, type NREG_SZ, value ND:\SQLBackup;这段只设置默认备份位置不代表每次备份都要放这里但至少在图形界面的备份任务里能看到选项。远程连接先用 services.msc 确认 SQL Server 服务在运行然后用 telnet 验证端口telnet 127.0.0.1 1433如果 telnet 能连通说明 TCP/IP 已经打开如果失败多半是“Sql Server Network Configuration”里 TCP/IP 被禁用。按照第 5.5 节的注册表方法把 TCP Enabled 改成 1重启服务。6.2 用 sqlcmd 做一次冒烟测试最后用一台客户机测试连接用你真实的应用连接方式sqlcmd -S 192.168.1.10,1433 -U sa -P your_pass -Q SELECT VERSION如果你能拿到版本号 9.00.4035说明补丁生效、远程连接也通。我在这一步还会顺手把 sa 密码再改一次避免安装过程中设置的临时强密码被项目组写在聊天记录里。从那以后我每次装完都强制自己走一遍这个顺序版本号、内存上限、备份目录、1433 端口四项全部确认后才会把机器交给应用方。这步检查只要两分钟但替我省掉了不知道多少个“数据库怎么连不上”的深夜电话。希望帮到你。本文还有配套的精品资源点击获取