
简介SQL Server 2012 安装图解教程以单份PDF形式提供共1个文件、约786KB面向初次接触微软数据库的开发者与运维新手也适合在低配置电脑上搭建本地学习环境的读者。内容以Windows 7 SP1 32位、赛扬双核T3500、2.93GB内存的实机为背景先说明软硬件参数要求与32位系统应选的三个安装包再沿安装中心界面推进系统配置检查器预检、升级与全新独立安装的区别、产品密钥与许可条款、功能角色勾选、实例命名与磁盘空间评估、服务器配置与身份验证模式直至数据库引擎、Analysis Services与分布式重播控制器的配置。逐步截图便于读者核对默认选项是否与处理器类型、安装介质目录相符提前规避规则检查中的警告。目前已有2248人学习。1. SQL Server 2012 装之前32 位 Win7 上那三个包别下错不少人搜 sql2012 安装教程翻到的都是一路“下一步”的截图真到自己动手第一步就卡住下载列表几十行文件到底该拿哪几个。我最早在一台 Windows 7 SP1、32 位、2.93GB 内存的老机器上装 SQL Server 2012本想让安装更快些就下了个 x64 的包自解压跑完setup 一启动就提示平台不匹配白等二十分钟。32 位系统只认 CHSx86 开头的那三个文件少一个都解压不全后面所有步骤都是白费。SQL Server 2012 是不少老业务系统的底座装一次就要用好几年装歪了后面连接串、端口、身份验证全是麻烦。这套流程适合还在维护 Win7 老机器、要在一台低配机上跑起数据库引擎的人也适合第一次接触 SQL Server 的开发者照着走一遍。2. 安装包与前置环境三个文件、四项检查2.1 三个安装包的分工以及为什么必须放在同一个目录SQL Server 2012 的 32 位安装介质被拆成了三个文件名字都以CHSx86SQLFULL_x86_CHS开头CHSx86SQLFULL_x86_CHS_Intall.exe自解压外壳双击它才会动起来CHSx86SQLFULL_x86_CHS_Core.box核心数据包体积最大的那个CHSx86SQLFULL_x86_CHS_Lang.box语言包中文界面靠它文件名里那个Intall少了个字母 l不是下载损坏官方介质就是这么拼的我第一次见还重下了两遍。三个文件缺一个解压出来的SQLFULL_x86_CHS目录就是不完整的setup 跑到一半会报“安装程序找不到所需的文件”。:: 存放路径别带中文、别带空格老安装程序对这两样都很敏感 md D:\sql2012_x86 :: 三个文件拷进去之后核对正常输出应该是 3 行 dir /b D:\sql2012_x86dir /b只列文件名不带详情图的就是一眼数清行数。看到三行才算齐缺了就别急着双击。解压目标目录我一般固定成D:\sql2012_x86\SQLFULL_x86_CHS不让它自己往临时目录扔。临时目录被清理工具扫掉的概率不低中途失败想重来就得从头再解压一遍白白多等十几分钟。解压完成后进去确认SETUP.EXE在根目录后面所有安装动作都从这个文件发起。2.2 系统配置检查器让安装程序先自己挑毛病“SQL Server 安装中心”打开后左侧“计划”里有一项“系统配置检查器”。这一步很多人直接跳过我建议每次都跑因为它会在真正安装之前把阻止安装的条件列出来比装到一半回滚省事得多。它检查的东西大致是这几类操作系统版本、.NET Framework 运行库、WMI 服务、性能计数器注册表、挂起的重启动操作、Windows 防火墙状态。其中“挂起的重启动”是最常见的一项只要机器最近装过补丁没重启它就会亮红。这种情况不要硬跳重启一次再跑。用命令行先自查一遍更快:: 查有没有挂起的文件重命名操作有值就说明系统等着重启 reg query HKLM\SYSTEM\CurrentControlSet\Control\Session Manager /v PendingFileRenameOperations :: 查 .NET Framework 3.5 是否装了 SP1SQL Server 2012 的部分组件依赖它 reg query HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5 /v SP第一条命令如果返回“错误: 系统找不到指定的注册表项或值”说明没有挂起操作可以放心往下走如果返回了值重启机器再继续。第二条命令里SP的值应该是 1Install的值应该是 1。注意Windows 7 上没有Get-WindowsOptionalFeature这个命令那是 Windows 8 及以后才有的。在 Win7 上判断 .NET 3.5 只能读注册表或者看“打开或关闭 Windows 功能”别照着新系统的教程在 Win7 上敲会一直报命令不存在。2.3 硬件和系统版本对照2.93GB 内存到底够不够官方给的门槛并不高但“能装”和“能跑”是两回事。把这几项列成一张表装之前对着自己的机器核一遍项目最低要求建议配置32 位 Win7 老机器实况操作系统Win7 / Win2008 R2 / Win2008 SP2 / Vista SP2Win7 SP1 及以上Win7 SP1 32 位达标处理器32 位 1GHz 或同等性能兼容处理器2GHz 及以上赛扬双核 T3500 2.1GHz勉强达标内存1GB2GB 及以上2.93GB够跑引擎不够跑分析服务硬盘2.2GB 可用空间留 6GB 以上低于 5GB 建议先清盘32 位/64 位32 位介质只装 32 位系统与系统位数一致只能用 CHSx86 系列包表里最需要说清的是内存那一行。2.93GB 在 32 位系统里已经是能识别到的上限附近系统本身要占掉七八百兆留给数据库引擎的不到 2GB。这个量跑一个开发库、几张表、几百条数据完全够用但要是再把 Analysis Services 勾上光启动就能把内存占满机器会卡得像死机。32 位机器上我的原则很干脆只装数据库引擎和客户端工具其余功能一律不碰。硬盘空间也得留够。安装程序在“磁盘空间需求”那页会算出所选功能需要多少但它没算上安装过程中的临时解压和日志实际占用通常比它显示的多出 1GB 左右。C 盘只剩 2GB 出头的时候硬装大概率会在“安装配置规则”阶段失败日志里写着磁盘不足回头再清盘重来时间全浪费。3. 从安装中心到实例配置向导前几屏怎么填3.1 产品密钥、许可条款与安装类型的选择双击D:\sql2012_x86\SQLFULL_x86_CHS\SETUP.EXE等安装中心窗口出来选右侧第一项“全新 SQL Server 独立安装或向现有安装添加功能”。这条路径对应的是非集群环境下的全新安装升级安装是另一个入口需要旧版本介质本文的流程不涉及升级。第一屏是产品密钥。手里是 Evaluation 版的话这一屏会预填好直接下一步就行Evaluation 本质是 180 天试用到期后数据库引擎会停止启动这一点在开发机上用没问题但当生产环境用就得提前换正式授权。许可条款那一屏勾上“我接受许可条款”下面的“向 Microsoft 发送功能使用情况数据”可以不勾纯离线环境勾了也没什么用。再往下一屏会显示将要安装的组件和安装介质根目录。这一屏值得多看一眼处理器类型是否和你的系统匹配、安装介质根目录是否指向了正确的SQLFULL_x86_CHS。介质根目录不对的话后面功能选择里的组件会大面积缺失。3.2 程序支持规则里的警告哪些能跳过哪些不能“程序支持规则”这一屏是安装程序在做正式动作前的最后一次全面检查。它可能出现警告而非错误界面上的提示会建议问题解决之后才继续安装但系统也允许跳过继续。我的处理原则很简单按警告内容分三类涉及“挂起的重启动”“.NET Framework 版本不符”“WMI 服务异常”的不能跳。这些会导致后面功能安装失败装到 80% 回滚比现在重启一次麻烦十倍。涉及“Windows 防火墙已启用”的可以跳。装完再去防火墙里放行 1433 端口就行安装过程本身不走网络。涉及“性能计数器注册表损坏”的看情况。这一项会影响后续用性能监视器排查问题不影响引擎启动实在修不好可以先装装完再执行lodctr /r重建计数器。跳过警告继续之后安装程序会重新跑一遍规则检查界面上会显示通过项和跳过项确认无误再点下一步。3.3 功能选择2.93GB 内存的机器该勾哪几项“功能选择”这一屏是整篇流程里最需要动脑的地方。界面上可以逐项勾选也可以点“全选”但全选在低配 32 位机器上一定会出问题。功能建议理由数据库引擎服务必勾SQL Server 的核心库、表、查询全靠它SQL Server 复制建议勾体积小以后要做数据同步不用重装全文搜索按需要做中文全文检索才勾会多占几百兆Analysis Services不勾内存开销大2.93GB 机器上启动都困难Reporting Services不勾或选本机模式只做开发库用不上报表服务客户端工具向后兼容性建议勾老版本客户端连新库时要靠它管理工具 - 基本 / 完整必勾SSMS 图形管理界面在这里不勾就没法可视化操作分布式重播控制器 / 客户端不勾SQL Server 2012 新增用于负载回放开发机毫无必要SQL Server 联机丛书按需离线帮助文档占空间但省得联网查功能目录那一栏也要留意。共享功能目录默认在C:\Program Files\Microsoft SQL Server\实例根目录默认在C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\。32 位系统上这些路径不带(x86)后缀看到带 x86 的路径反而说明介质或系统位数对不上。C 盘紧张的话可以改到 D 盘但共享功能目录一旦装好就很难改改之前想清楚。目录名里也别出现中文和空格某些老版本的客户端工具对带空格的安装路径处理得并不好。3.4 实例配置默认实例还是命名实例“实例配置”这一屏决定实例名而这个选择往后几年都跟着你。默认实例实例名留空服务名就是MSSQLSERVER客户端连接时只写机器名或 IP 就能通端口默认 1433。一台机器只能有一个默认实例。命名实例比如填DEV2012服务名变成MSSQL$DEV2012连接时要写机器名\DEV2012端口默认走动态端口得靠 SQL Server Browser 服务来解析。同一台机器上可以并存多个实例一台 2.93GB 内存的老机器上装两个实例纯属给自己找麻烦我一般只装默认实例。实例 ID 那一栏会自动跟着实例名生成比如MSSQL11.MSSQLSERVER里的MSSQL11就是 SQL Server 2012 的版本标识这个 ID 会成为安装路径的一部分装完之后再改基本等于重装。4. 服务器配置与数据库引擎配置身份验证模式定生死4.1 服务账户与排序规则“服务器配置”这一屏要同时给多个服务指定启动账户还决定整个实例的排序规则填错了后面改排序规则要重建数据库。服务账户这块SQL Server 2012 支持虚拟账户NT Service\MSSQLSERVER和NT Service\SQLSERVERAGENT是默认值。我的习惯是保持默认虚拟账户不动它是系统托管的不需要密码权限也只在本机有效比用 Local System 或某个域账户干净得多。用 Local System 跑数据库引擎等于给引擎开了全机权限一旦有注入问题后果会被放大。服务建议账户启动类型SQL Server 数据库引擎NT Service\MSSQLSERVER自动SQL Server 代理NT Service\SQLSERVERAGENT手动开发机不用定时任务SQL Server BrowserNT AUTHORITY\LOCAL SERVICE手动用命名实例时再启动SQL Server 全文筛选器守护程序启动器NT Service\MSSQLFDLauncher手动排序规则选Chinese_PRC_CI_AS是中文环境的常规做法CI表示不区分大小写AS表示区分重音。选错了的典型症状是查“张三”和“张 三”结果不一致或者中文排序全乱。装完可以这么确认-- 查看服务器级排序规则正常应返回 Chinese_PRC_CI_AS SELECT SERVERPROPERTY(Collation) AS 服务器排序规则;如果返回的是SQL_Latin1_General_CP1_CI_AS说明安装时没改中文数据能存但排序和比较行为会跟预期不同。这种时候要么重建实例要么在新建库时单独指定COLLATE Chinese_PRC_CI_AS后者是成本更低的补救方式。4.2 混合模式与 sa密码策略和添加管理员“数据库引擎配置”这一屏是整篇流程的分水岭身份验证模式一旦选错装完连不上去得进单用户模式改注册表才能救回来。两种模式的区别很直接Windows 身份验证模式只认 Windows 账户登录时用当前系统账号不需要额外记密码。安全但换个账号、换台机器就进不去。混合模式Windows 账户和 SQL Server 账户都能登sa是内置的系统管理员。开发机上我基本都选这个方便用连接串直接连也方便其它工具用账号密码访问。选混合模式后必须给sa设密码。SQL Server 2012 会强制执行密码复杂度长度至少 8 位且在大写字母、小写字母、数字、符号中至少满足三类。设成123456或sa123会被直接拒绝界面上提示密码不符合要求很多人卡在这一屏反复试。注意混合模式装完之后sa未必立即可用。如果安装时漏了启用或者后期被人为禁用需要用 Windows 身份验证登进去执行ALTER LOGIN sa ENABLE才能恢复。生产环境里sa长期禁用、改用独立的 DBA 账号是更稳妥的做法。同一屏还要“添加当前用户”或指定 SQL Server 管理员。这一步别嫌烦至少加两个当前 Windows 用户以及一个备用管理员账号。只加一个账号的后果是那个账号一旦被误删或密码丢失就只剩单用户模式这一条路。4.3 Analysis Services、Reporting Services 与分布式重播如果 3.3 节里没勾这几项对应的配置页会直接跳过这是低配机器的正常路径。万一勾了配置项是这样Analysis Services 配置页要指定“添加当前用户”作为服务器管理员模式选“多维和数据挖掘模式”表格模式是后来的版本才成熟。这一项在 2.93GB 内存的机器上装完服务能起来但一跑查询就疯狂换页实际不可用。Reporting Services 配置页有三种本机模式、SharePoint 集成模式、未配置。选“未配置”最省事服务装了但不启用以后要用再在 Reporting Services 配置管理器里补。选本机模式则要求装完后再跑一遍配置工具建报表服务器数据库多一步骤。分布式重播控制器和客户端是 SQL Server 2012 才新增的两项用途是把生产环境的负载抓下来在测试环境回放做压力验证。这两项填的是控制器端口和安装路径普通开发机勾它纯属给自己加戏我一次都没在业务机器上装过。4.4 安装阶段与收尾前面配置完成后会经过“错误报告”“安装配置规则”“准备安装”几屏最后到“开始安装”页。真正的安装过程在 2.93GB 内存的机器上大约要四十分钟到一小时期间进度条会在“安装数据库引擎服务”那一格停很久别以为是卡死就强杀进程强行终止会留下半装的实例重装时更麻烦。“准备安装”那一屏会显示一个ConfigurationFile.ini的路径这个文件记录了本次安装的全部选项。我习惯把它复制一份留着以后要在同类机器上批量装直接带参数跑SETUP.EXE /ConfigurationFile...就能复现省得每次重新点一遍向导。安装日志在C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log下面按时间戳分目录。真出问题时Detail.txt比界面上那句“安装失败”有用一百倍具体哪个组件、哪条规则没过都写在里面。5. 安装踩坑记录五个让你重装一遍的现场5.1 双击 Intall.exe 之后解压出来的目录里没有 setup.exe现象自解压窗口一闪而过按提示去找SQLFULL_x86_CHS目录里面只有几个零散文件SETUP.EXE找不到。原因三个安装包没放在同一个目录或者只下了 exe 没下两个.box。自解压外壳按相对路径找同目录的 box 文件找不到就只解出一部分然后静默结束连报错都不给。解决把三个文件重新放回同一目录注意文件名一个字符都不能改重新双击 exe解压时手动指定一个固定路径别用默认的临时目录。解压完成后核对SETUP.EXE的大小几百 KB 那个是对的。5.2 规则检查卡在“挂起的重启动”重启了还是红现象系统配置检查器一直提示有挂起的重启动操作重启机器后重新打开安装中心依旧亮红。原因某个后台程序常见的是自动更新服务或某个安装了一半的驱动在重启后又往PendingFileRenameOperations里写了新值等于永远清不掉。解决先停掉自动更新服务再重启一次或者在确认没有正在进行的安装后手工清空那个注册表值。清理前一定先备份该键改错了会影响系统启动。:: 备份该项再删值值本身是二进制别用 reg add 硬写 reg export HKLM\SYSTEM\CurrentControlSet\Control\Session Manager D:\backup_session.reg reg delete HKLM\SYSTEM\CurrentControlSet\Control\Session Manager /v PendingFileRenameOperations /f5.3 32 位机器勾了分析服务安装到 80% 回滚现象功能选择时手一滑点了“全选”安装跑到数据库引擎之后的组件阶段卡住最后整包回滚前面二十分钟全白费。原因Analysis Services 和 Reporting Services 在 2.93GB 内存、2.1GHz 双核的机器上启动就吃紧安装阶段的配置动作会超时加上 C 盘剩余空间不足 6GB临时文件写到一半就失败。解决卸载掉半装的实例重启后重新走一遍向导功能只勾数据库引擎、复制、客户端工具向后兼容、管理工具。已经回滚过的机器重装前要确认“程序和功能”里没有残留的 SQL Server 条目有就一并卸掉。5.4 混合模式设了密码装完 sa 还是登不上现象安装时明确选了混合模式密码也满足复杂度要求装完用 SSMS 以 sa 登录提示“用户 sa 登录失败”。原因两种可能。一是安装时“添加当前用户”那步跳过了Windows 身份验证也进不去二是密码里带了特殊字符某些老客户端在连接串里把字符吃掉了。解决先用 Windows 身份验证登进去确认身份验证模式和 sa 状态-- 1 仅 Windows 身份验证0 混合模式 SELECT SERVERPROPERTY(IsIntegratedSecurityOnly) AS 仅Windows验证; -- 查看 sa 是否被禁用 SELECT name, is_disabled FROM sys.sql_logins WHERE name sa; -- 需要时启用并重设密码密码换成你自己的 ALTER LOGIN sa ENABLE; ALTER LOGIN sa WITH PASSWORD Str0ng!Pass2012;如果IsIntegratedSecurityOnly返回 1说明根本就是按 Windows 模式装的改注册表LoginMode为 2 再重启服务也能切但这是补救手段不如重装干净。5.5 装完 SSMS 连不上报错“找不到服务器或实例”现象服务和实例都装好了SSMS 里输入机器名连接转几秒后报网络相关错误。原因SQL Server Browser 服务没启动而客户端走的是命名实例或动态端口或者 Windows 防火墙把 1433 挡了再或者 TCP/IP 协议在配置管理器里被禁用。解决按顺序排查。先在“SQL Server 配置管理器”里看网络配置下的 TCP/IP 是否已启用改完必须重启 SQL Server 服务才生效再把 Windows 防火墙的 1433 端口放行最后确认客户端连的名字写对了默认实例写机器名命名实例写机器名\实例名。:: 看 1433 有没有在监听有 LISTENING 才算通 netstat -ano | findstr :1433 :: 从服务列表看实例状态 sc query MSSQLSERVER6. 装完怎么验证三条命令确认这套环境真的跑起来了界面显示“安装成功”不等于能用我见过太多次安装向导报成功、实际引擎起不来的情况。装完按下面三步走一遍才敢说这套环境装好了。第一步看服务和端口。打开服务管理器确认SQL Server (MSSQLSERVER)处于“正在运行”启动类型是“自动”然后在命令行里查端口:: 默认实例应看到 1433 处于 LISTENING netstat -ano | findstr :1433第二步确认版本号和实例名。用 SSMS 连上去之后新开查询窗口执行-- 版本号应以 Microsoft SQL Server 2012 - 11.0 开头 SELECT VERSION AS 版本; SELECT SERVERNAME AS 实例名;第三步真正建库建表跑一条查询。这一步才能把权限、排序规则、文件路径全串起来验证CREATE DATABASE VerifyDB; GO USE VerifyDB; GO CREATE TABLE t_check (id INT PRIMARY KEY, memo NVARCHAR(50)); INSERT INTO t_check VALUES (1, N安装验证); SELECT * FROM t_check WHERE memo N安装验证;三条语句都返回结果、没有报错说明数据库引擎、磁盘写入、中文排序规则都是正常的。跑完把VerifyDB删掉USE master; GO DROP DATABASE VerifyDB;从那以后我每次给机器装完 SQL Server不管多急都强制走一遍这套验证——先看 1433 有没有 LISTENING再跑VERSION确认是 11.x最后建一张临时表插一行中文再删掉。界面上的“成功”只是安装程序说的这三条命令才是环境自己开口说话。希望帮到你。本文还有配套的精品资源点击获取