简介:针对Windows 7 64位环境下SQL Server 2008 R2的安装,这份PDF教程提供了从环境准备到安装完成的完整图文指引,特别适合数据库初学者、软件开发人员以及需要在旧版Windows系统上部署SQL Server的用户。资源为1个PDF文件,共3.66MB,内容以图文步骤为主,可离线查看并随时翻查关键配置环节。目前已有343人学习浏览,说明其在同类教程中具有一定参考价值。教程详细覆盖IIS组件启用、VS2008 SP1安装注意点、安装程序支持规则检查、功能选择、实例配置、服务器账户设置、数据库引擎混合模式配置等核心环节,并配有图解与操作提示。此外,还针对防火墙警告、安装失败检测等常见问题给出应对思路,能有效帮助读者避开安装过程中的典型障碍,减少反复尝试的时间成本,确保在Win7 64位环境下顺利完成SQL Server 2008 R2的部署。
1. 为什么 Win7 64 位上还在折腾 SQL Server 2008 R2
Windows 7 64 位加 SQL Server 2008 R2,是不少遗留项目最后交付的标准环境。真正让你卡住的基本不是 setup.exe 本身,而是环境校验:IIS 没开、VC++ 运行库缺失、防火墙半路拦截、安装程序反复提示“重新启动计算机失败”。这篇把图文装配流程拆成可复现的顺序,从 IIS 依赖到混合模式,把每一步的命令、参数和失败日志位置讲清楚,顺手解决最恶心的重启检查失败。适合接老系统维护的工程师,也适合在 Win7 虚拟机上复现十年前的业务环境。
2. 安装前的环境检查与依赖补齐:IIS、补丁、防火墙
2.1 先装 IIS:不是为网站,是为安装规则少报错
SQL Server 2008 R2 安装向导在功能选择阶段会检测 Windows 组件,尤其当你勾选 Reporting Services 或全文检索时,系统需要 Web 服务组件来注册 HTTP 端点。Win7 默认没有 IIS,所以资料里特意提醒先打开“Internet Information Services”的 Web 核心。先说结论:只装数据库引擎时 IIS 不是硬依赖,但留着它能让安装程序支持规则和后续报表功能少报不兼容,属于性价比很高的预防动作。
打开方式用 Win7 自带的可选功能工具:
optionalfeatures.exe弹出“打开或关闭 Windows 功能”后,展开“Internet Information Services”,勾选“Web 核心”,确定。修改组件后建议重启一次,让 IIS 相关服务完成注册。想确认 IIS 是否真的启用,用命令查服务状态:
sc query w3svc正常输出里STATE应该是RUNNING或至少服务存在;如果提示“指定的服务未安装”,说明组件没有真正启用。注意不要勾选 FTP 目录,那和 SQL Server 安装没有关系。
2.2 VS2008 SP1 与 VC++ 运行库:能跳过但不是全跳
原文说先装 vs2008sp1,如果没装 VS 可以跳过。原因是 SQL Server 2008 R2 的安装工具集依赖 Microsoft Visual C++ 2008 运行库,很多 Win7 精简镜像恰恰缺这个。你不需要装完整的 Visual Studio,只要补运行库即可。我一般会同时装 x86 和 x64 两个版本的 VC++ 2008 SP1 Redistributable,避免 32 位支持组件在主流程里反查不到。
安装前先看系统里有哪些 VC++ 2008 记录:
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object { $_.DisplayName -match '2008' } | Select-Object DisplayName, DisplayVersion如果看到Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161之类的记录,就说明核心运行库已存在。没有的话去微软下载中心单独拉 x64/x86 运行库,装完再继续,不要在安装中途让向导去补组件。
2.3 老镜像最容易漏的 SHA-2 补丁 KB2533623
Win7 老镜像经常缺少对 SHA-2 签名的支持,SQL Server 2008 R2 安装包里的可执行文件有时会被系统拒载,报错像是“拒绝访问”或安装程序无响应。网上常见的处理是装 KB2533623 补丁,建议作为安装序列的固定步骤。检查是否已安装:
Get-HotFix -Id KB2533623 -ErrorAction SilentlyContinue没有任何输出就说明没装。去微软 Update Catalog 搜该编号,下载 x64 版本后按顺序安装并重启。这个补丁同时能解决其他老软件安装包签名校验失败的问题,值得先做。
2.4 防火墙和 UAC:安装时宽松,装完后收紧
Win7 的 Windows 防火墙会在安装向导执行到“功能选择”后给出警告,有时还导致安装规则失败。资料里的做法是直接关防火墙,但我更倾向临时关闭,装完数据库后只对 1433 端口放行。管理员权限执行:
netsh advfirewall set allprofiles state off安装完成并确认 SQL Server 可正常连接后,再打开防火墙并加一条端口例外:
netsh advfirewall firewall add rule name="SQL Server 1433" dir=in protocol=TCP localport=1433 action=allowUAC 的处理同样重要。右键setup.exe,选“以管理员身份运行”,不要在普通双击模式下使用。桌面机器 UAC 级别过高时,安装程序写入注册表和Program Files的动作会被静默拦截,表现是某一步点击后毫无反应。
3. 安装流程拆解:从支持规则到实例配置
3.1 启动 setup.exe 与安装程序支持规则
运行安装盘或 ISO 根目录的setup.exe,左侧选“安装”,右侧选“全新安装或向现有安装添加新功能”。这一步之后先跑“安装程序支持规则”,它会检查 .NET Framework、WMI、Windows Installer 等项目。Win7 自带 .NET 3.5.1,但如果被精简或手动关掉了,会影响安装程序支持文件的释放。
检查 .NET 3.5 功能状态:
dism /online /get-featureinfo /featurename:NetFx3如果状态是Disabled,启用它:
dism /online /enable-feature /featurename:NetFx3 /all启用过程中可能需要 Win7 安装源。重启后重新运行 setup.exe。另一个频繁失败的原因是 WMI 服务没启,SQL Server 安装向导依赖它枚举硬件和系统信息。恢复 WMI 服务:
sc config winmgmt start= auto net start winmgmt出现“必须重新启动计算机”的失败项,先不要重启机器,看第 5 章的注册表处理,那个技巧成功率最高。
3.2 功能选择:一个单机实例到底装多少
功能选择页面列出了数据库引擎服务、Analysis Services、Reporting Services、管理工具等。给 Win7 本地环境用时,我通常只选这几项:
| 功能 | 典型用途 | 本地单机建议 |
|---|---|---|
| 数据库引擎服务 | 核心 SQL 引擎 | 必选 |
| 管理工具 - 完整 | SSMS 图形界面 | 建议选 |
| 客户端工具连接 | sqlcmd 等命令行工具 | 建议选 |
| SQL Server 复制 | 发布订阅同步 | 不需要时跳过 |
| 全文搜索 | 文本索引查询 | 业务需要才选 |
| Reporting Services | 报表服务 | 尽量跳过,Win7 上配置麻烦 |
| Analysis Services | OLAP 数据挖掘 | 跳过 |
共享功能目录默认是C:\Program Files\Microsoft SQL Server\。系统盘空间紧张时改成其他盘,但注意后续会有一个独立的“数据库引擎配置”页设置数据文件目录,两处不是一回事。程序文件放系统盘事实上更省心,数据文件单独放数据盘。
3.3 实例配置与磁盘空间检查
实例配置页选择“默认实例”,实例 ID 会变成MSSQLSERVER,这也是连接字符串里localhost对应的实例名。如果机器上已经有一套 SQL Server,或者要区分多环境,选命名实例,格式是机器名\实例名。对于单机老系统,默认实例最简单,维护命令不用带实例名。
磁盘空间要求页会列出所选功能的占用,但那个数字只是安装后的基线。数据库跑起来之后,tempdb 和数据文件膨胀速度会远超预期。安装前手动检查剩余空间:
Get-PSDrive -PSProvider FileSystem | Select-Object Name, @{n='FreeGB';e={[math]::Round($_.Free/1GB,2)}}FreeGB低于 5G 时先清理或换虚拟磁盘,否则后续日志备份都写不动。
3.4 安装日志:失败以后先看这里
安装过程中任何一个规则失败,页面都会给“查看日志”链接。真正的细节藏在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\目录里。最有用的文件是Summary.txt,记录了每个功能组件的安装状态。用命令快速读取末尾部分:
Get-Content -Path "C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt" -Tail 60看日志要比反复重跑安装程序高效得多。常见的权限问题会在日志里直接标出失败的 Registry 键或文件路径,能立刻定位是 UAC 还是磁盘问题。
4. 服务器配置与数据库引擎配置:最容易被账户卡住的一步
4.1 服务账户:虚拟账户还是独立本地账户
进入“服务器配置”页后,会看到 SQL Server 数据库引擎、SQL Server Agent 等服务。这里有一个选择分岔:使用 Windows 内置虚拟账户NT Service\MSSQLSERVER可以不用密码,也不容易被改密码搞挂;但资料里推荐“对所有 SQL Server 服务使用相同的账户”,这更贴近客户端交付场景,因为后续加一次密码就能管理所有服务。
我一般这样建议:纯本地开发和测试,用虚拟账户;给客户部署,单独创建一个本地用户作为服务账户。创建命令:
net user sqlserver P@ssw0rd /add然后在安装向导里点“对所有 SQL Server 服务使用相同的账户”,输入sqlserver和密码。安装程序会自动授予“作为服务登录”权限,不需要手动去组策略里加。注意密码必须满足 Win7 本地安全策略的复杂度要求,否则net user会直接拒绝。
4.2 混合模式、sa 密码、添加当前用户
数据库引擎配置页是整个安装流程的高危区。默认只开 Windows 身份验证,但要做本地程序连接或者用 sa 登录运维,必须选“混合模式”。选混合模式后会让你输入 sa 密码,建议长度超过 10 位,包含大小写、数字和特殊字符。
“添加当前用户”一定要勾选。这句话的意思是把你此刻登录 Win7 的 Windows 账户加为 SQL Server 的 sysadmin。之后就算 sa 密码忘了,也能用 Windows 身份登录进去重置。如果漏了这个,又被密码策略锁住,只能单用户模式重启实例,代价很大。
| 配置项 | 建议设置 | 原因 |
|---|---|---|
| 身份验证模式 | 混合模式 | 允许 sa 和程序远程连接 |
| sa 密码 | 10 位以上复杂密码 | 满足策略减少锁死风险 |
| 添加当前用户 | 勾选 | 保留本地管理后门 |
| 数据目录 | 建议改为 D:\SQLDATA | 避免系统盘被数据文件占满 |
| 排序规则 | 中文环境选 Chinese_PRC_CI_AS | 影响中文排序与匹配 |
排序规则值得展开说。如果安装包是英文介质,默认排序规则可能变成SQL_Latin1_General_CP1_CI_AS,对中文业务系统的NVARCHAR查询会有细微差别。安装完成后验证:
SELECT SERVERPROPERTY('Collation') AS Collation;如果要改排序规则,必须在安装时定好,装完再改要重建所有数据库和系统库,代价极高。
4.3 验证 sa 登录是否真正可用
安装完成后打开 SSMS,服务器名填localhost,身份验证选“SQL Server 身份验证”,用 sa 登录。也可以直接用命令行工具 sqlcmd 验证:
sqlcmd -S localhost -U sa -P 'P@ssw0rd' -Q "SELECT @@VERSION AS ver, @@SERVERNAME AS srv"s指定服务器,U是用户名,P是密码,Q是要执行的查询。如果不认识 sqlcmd,路径一般在C:\Program Files\Microsoft SQL Server\100\Tools\Binn\,可以将这个目录加入系统 PATH 再执行。
4.4 安装后端口与远程连接的关系
Win7 本机连接 SQL Server 用的共享内存协议,不依赖 TCP/IP。但同一局域网其他机器要连过来,就必须开启 TCP/IP。打开“SQL Server 配置管理器”,在“SQL Server 网络配置”中找到对应实例的“协议”,把 TCP/IP 启用,然后重启数据库引擎服务。命令行重启实例:
net stop mssqlserver net start mssqlserver命令行方式看不到 TCP/IP 是否开启,但能确认服务状态。远程连接配置完成后,在另一台机器想快速测试,可以用命令行:
sqlcmd -S 192.168.1.20 -U sa -P 'P@ssw0rd' -Q "SELECT 1"能返回结果就说明端口和协议都通了。
5. 安装验证与重启失败修复的实用技巧
5.1 验证实例和文件位置
安装完成后,用 sqlcmd 检查实例信息是最直接的方式:
sqlcmd -S localhost -U sa -P 'P@ssw0rd' -Q "SELECT name, physical_name FROM sys.master_files"这一步能同时确认默认实例名、数据文件路径和日志文件路径是否和你安装时预期一致。如果安装时把数据目录改到了 D 盘,这里会直接显示D:\SQLDATA\...,比去资源管理器翻文件靠谱。
5.2 处理“重新启动计算机失败”
这是 Win7 装 SQL Server 2008 R2 出现频率最高的拦路虎。安装程序通过系统注册表里一个待处理文件夹列表判断是否需要重启。有些软件卸载后遗留了无用的待重命名记录,导致安装程序认为系统需要重启。实际处理方式很直接:删除该注册表值,重启一次,再跑安装程序。
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v PendingFileRenameOperations /f删除后确认没有其他安装程序正在运行,重启系统,再启动 SQL Server 安装向导。系统通常会在后续操作里自动重建这个注册表项,不影响稳定性。这个技巧也适用于其他老软件安装时“重新启动计算机失败”的报错。
5.3 用补丁和连接测试收尾
如果安装过程报“文件签名验证失败”,把 KB2533623 装上再试。检查命令:
Get-HotFix -Id KB2533623 -ErrorAction SilentlyContinue确认补丁存在后,最好再走一遍完整安装。最后在 SSMS 新建查询,执行:
SELECT name, physical_name FROM sys.master_files;能看到实例的文件配置,才算真正完成了一次可复现的 Win7 64 位 SQL Server 2008 R2 部署。
本文还有配套的精品资源,点击获取