1. 环境准备与版本选型
1.1 搞清楚你要装的是哪个版本
很多第一次接触 SQL Server 的人会把“SQL Server 2016”和“SQL Server Management Studio”混为一谈,实际上这是两个完全独立的东西。SQL Server 2016 是数据库引擎本身,负责存储数据、处理查询、管理事务这些底层工作;而 SSMS 是微软提供的图形化管理工具,相当于数据库的“控制台”,让你不用敲命令行就能建表、写查询、看执行计划。
打个比方:SQL Server 是发动机,SSMS 是方向盘和仪表盘。你可以只装发动机不装仪表盘,用命令行工具照样能开车,但绝大多数人还是习惯有个图形界面,所以实操中几乎都是两个一起装。
版本上要注意区分:
- SQL Server 2016 的正式版本号是 13.x,有 Standard、Enterprise、Developer、Express 等版本。个人学习或开发测试,优先选 Developer(开发者版),功能和企业版完全一致,只是授权协议禁止用于生产环境。
- SSMS 从 2016 年开始改成独立安装包,不再随数据库引擎一起分发。这意味着你完全可以给 SQL Server 2016 装上最新版的 SSMS 21.x,微软官方是支持这种跨版本搭配的。
- 如果你在 Windows Server 2016 上部署,SQL Server 2016 和更新版本都支持,但要注意操作系统补丁要打齐,尤其是 .NET Framework 4.6 以上版本。
1.2 安装前的系统检查清单
我在实际部署中踩过的坑,十有八九都出在准备工作没做到位。下面这份清单可以帮你省掉大部分麻烦:
- 操作系统要求:Windows 7 SP1 以上或 Windows Server 2012 R2 以上,64 位系统是硬性要求,SQL Server 2016 没有 32 位版本。
- .NET Framework:安装程序会自动检测并安装 4.6 版本,但如果系统里已有旧版本,建议先手动更新到 4.7.2 或更高版本,能避免不少兼容性告警。
- 磁盘空间:完整安装加 SSMS,至少预留 10GB 以上,别卡着 6GB 的最低要求,后续打补丁、建数据库、存日志文件都非常吃空间。
- 内存:开发测试机 8GB 起步,生产环境视业务量而定。SQL Server 默认会吃掉几乎所有可用内存,如果你只有 4GB 内存还开着一堆其他软件,会明显感觉卡顿。
- 防火墙:安装完成后默认开启 TCP 1433 端口,如果要做远程连接,务必在防火墙里放行,否则客户端怎么连都连不上。
- 服务账号:建议专门建一个 Windows 账号给 SQL Server 服务用,而不是用 LocalSystem 或 Network Service。这样权限隔离更清晰,排查权限问题时也好定位。
这些准备工作看着琐碎,但每一条背后都有真实教训。比如磁盘空间不够,安装到一半直接报错回滚,前功尽弃;防火墙没放行,数据库明明装好了客户端就是连不上,折腾半天才发现是防火墙拦了。
2. SQL Server 2016 安装全流程拆解
2.1 安装介质获取与校验
SQL Server 2016 的安装镜像可以从微软官网下载,Developer 版本免费,ISO 文件大约 2.5GB 左右。下载时注意选择正确的语言和架构(x64),文件名通常带有“x64”字样。
下载完成后,强烈建议校验一下文件哈希,确保下载过程中没有损坏。在 PowerShell 里执行:
Get-FileHash -Path "D:\download\SQLServer2016-x64-ENU.iso" -Algorithm SHA256然后把输出值和微软官方提供的哈希值对比,一致再继续。这一步不是强迫症,我遇到过 ISO 文件在下载中断后“看起来正常”,但安装到一半报 CAB 文件校验失败的坑,最后重下才解决。挂载 ISO 文件也很简单,Windows 10/11 和 Server 2016 都支持双击直接挂载到虚拟光驱,或者右键选择“装载”。
2.2 安装类型选择:全新安装还是添加功能
双击 ISO 里的 setup.exe 后,会进入 SQL Server 安装中心。左侧有“安装”选项卡,里面有多个入口:
- 全新 SQL Server 独立安装——最常用,适用于首次安装或单实例部署。
- 向现有实例添加功能——如果之前装过但缺了组件,比如原来没装 Integration Services,现在想补上,选这个。
- 从新实例安装 SQL Server 2016——用于同一台机器上跑多个实例的场景。
对于绝大多数情况,选第一个“全新 SQL Server 独立安装”即可。安装中心左侧还有“维护”和“工具”选项卡,可以后面再研究。
点击后进入安装规则检查,这一步会自动检测是否有潜在问题,比如重启挂起、WMI 服务异常等。如果某项检查失败,需要先解决再继续。最常见的两个坑:一是系统有未完成的 Windows Update 重启任务,二是旧版 SQL Server 组件残留。前者重启一次就好,后者需要手动清理注册表或卸载残留组件。
2.3 产品密钥与版本选择
安装规则通过后,会要求选择版本。如果你有正版密钥,选“指定可用版本”并填入;如果是开发者版,直接选“Developer”即可,不需要输入密钥(安装包默认内置了评估版的密钥逻辑,选择 Developer 后自动激活)。
这里提醒一句:不要在生产环境使用 Developer 版,也不要抱着侥幸心理用评估版顶生产。微软对授权这块查得越来越严,没必要给自己埋雷。学习、测试、搞实验,Developer 版完全够用。
接下来是许可条款勾选、功能选择界面。功能选择是整个安装过程里最核心的一步,建议按需勾选:
- 数据库引擎服务:必选,这是 SQL Server 的核心。
- SQL Server 复制:配合数据库引擎使用,做读写分离或数据同步才需要,一开始可以不用装。
- 全文和语义搜索:如果要做中文或英文全文检索,建议勾选,默认不装的话后面加功能也麻烦。
- Analysis Services 和 Reporting Services:BI 方向才用得上,纯开发或日常管理不需要。
- Integration Services:数据迁移、ETL 工具,有兴趣可以装上,功能独立不影响性能。
共用功能里有“机器学习服务(数据库内)”这一项,SQL Server 2016 首次引入了 R 语言支持,如果要跑数据分析和机器学习,可以勾上,不然忽略即可。功能目录右下角可以修改安装路径,建议把数据库引擎和数据目录放在数据盘(比如 D 盘),不要放在系统盘 C 盘,避免系统盘满了之后威胁数据库稳定性。
实例配置界面,默认是默认实例(MSSQLSERVER),一般不用改。如果一台机器要跑多套业务,可以用命名实例区分,比如“SQL2016A”“SQL2016B”。命名实例的连接端口和地址会和默认实例有差别,连接时需要写成“服务器名\实例名”的格式,这一点在后面配连接字符串时容易出错,需要留意。
2.4 服务器配置与服务账号设置
服务器配置页面主要设置各个服务的启动账号。默认使用虚拟账号(Virtual Account)就够用,比如 NT Service\MSSQLSERVER。虚拟账号的好处是无需手动管密码,也不能远程登录,安全性相对更好。
SQL Server 服务的启动类型默认是“自动”,必须保持自动,否则重启后数据库服务起不来,应用就全挂了。SQL Server 代理(Agent)服务建议也设为“自动”,后续做定时备份、作业调度都靠它。
接下来是数据库引擎配置,这一步有两个关键事项:
- 身份验证模式:强烈建议选“混合模式”(SQL Server 身份验证 + Windows 身份验证)。用 Windows 身份验证虽然安全,但会给后续开发调试带来很多不便,比如你用 Java、Python 代码远程连数据库时,还需要额外配置 Windows 凭据。混合模式加一个 sa 账号,开发效率高很多。
- 设置 sa 密码:务必设置强密码,至少 12 位以上,混合大小写字母、数字和符号。网上被勒索病毒加密的数据库,十有八九是 sa 密码太弱被爆破的。
- SQL Server 管理员:点击“添加当前用户”,把自己加为系统管理员,否则安装完你得用 Windows 管理员身份才能操作数据库。
Analysis Services 和 Reporting Services 的配置页,没装这两个功能就直接跳过了。
2.5 安装过程与常见告警处理
配置全部完成后,会进入安装进度页。安装过程大概需要 10 到 20 分钟,取决于机器性能。期间可能出现几个不影响使用的告警:
- 防火墙规则失败:低于 9.0 版本的 Client Tools 无法远程连接,这个告警基本可以忽略,因为现在很少用那么老的客户端工具。
- 功能或组件“失败”:如果某个组件安装失败,不要直接放弃,先把安装日志拷贝出来,定位具体原因。日志文件默认在 C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Log,里面会有非常详细的安装过程记录。
- 重启要求:安装程序有时会提示重启后继续,重启后重新运行 setup.exe,它会自动检测到未完成的安装任务。
安装完成的标志是看到“完整的”状态并显示“SQL Server 2016 安装已成功完成”。这之后先别急着装 SSMS,先打开“SQL Server 配置管理器”,确认 SQL Server 服务处于“正在运行”状态。
2.6 安装完成后的目录结构验证
装完后,有经验的 DBA 会习惯性看一眼目录结构,确认关键组件的落盘位置。默认情况下:
- 数据库引擎的主程序在 C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL
- 系统数据库和用户数据库文件在 C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA
- 错误日志在 C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log
- 备份文件建议自己建一个独立目录,比如 D:\SQLBackup
如果之前自定义过安装路径,就以自定义路径为准。搞清楚这些目录有什么,后续做备份恢复、排查磁盘空间、查看日志时会少走很多弯路。
3. SQL Server Management Studio 安装与版本兼容性
3.1 为什么 SSMS 要和 SQL Server 分开装
我在前文提过,从 SQL Server 2016 开始,SSMS 就独立发布了。这样做的好处是版本迭代更快,修复 bug 和增加新功能的节奏不受数据库引擎发布周期的限制。坏处也很明显:新手经常找不到下载入口,更搞不清楚版本兼容关系。
简单说明一下兼容性规则:SSMS 的版本号不带 SQL Server 年份,它有自己的独立版本号,比如 17.x、18.x、19.x、20.x、21.x。新版 SSMS 可以管理旧版 SQL Server 实例,比如用 SSMS 21 管理 SQL Server 2012、2016、2019 都行。反过来则不行,SSMS 17.x 管理 SQL Server 2022 是不受支持的。所以我的建议是:SSMS 永远装最新版,不要纠结“和 SQL Server 2016 配套的 SSMS 是哪个版本”这类问题。
3.2 SSMS 下载与安装过程详解
SSMS 的安装包同样可以在微软官网免费下载,文件名通常带“SSMS-Setup-CHS.exe”或“SSMS-Setup-ENU.exe”。安装包不大,一般在 800MB 到 1GB 左右。下载时要注意选择适合自己的版本渠道。有人问“SQL Server Management Studio 19.3 离线安装”怎么做,你搜到的那个安装文件本身就是离线安装包,下载完直接双击安装即可,不需要在线下载额外的组件。
安装过程比数据库引擎简单得多,基本全程下一步:
- 双击安装程序,会提示“是否允许此应用对你的设备进行更改”,点“是”。
- 选择安装目录,默认装在 C 盘,如果 C 盘紧张可以改到 D 盘。
- 点击“安装”,等待进度条走完。
- 安装完成后,提示重启(也可能不提示),重启后即可使用。
- 首次启动会弹窗要求登录 Azure 账号或使用 SQL Server 身份验证,登录界面的“Active Directory - 集成支持”选项可以直接忽略,开发测试环境通常用不到。
整个过程大约 5 到 10 分钟。如果安装失败,通常和 .NET Framework 版本过旧有关,可以先去下载安装最新的 .NET Framework 4.8,然后再跑一次 SSMS 安装程序,大部分问题瞬间解决。
3.3 SSMS 21 vs 旧版本的选择建议
SSMS 迭代到现在,20.x 和 21.x 版本对 SQL Server 2016 的支持依然完好,而且查询编辑器、执行计划展示、索引调优这些核心功能都比旧版强很多。我这里基于实际使用体验做个对比:
| 对比项 | SSMS 18.x | SSMS 20.x / 21.x | 推荐结论 |
|---|---|---|---|
| 启动速度 | 一般 | 明显更快 | 新版胜 |
| 界面观感 | 传统 Windows 风格 | 现代化暗黑主题可选 | 新版更符合当前习惯 |
| 对 SQL Server 2016 兼容性 | 完全支持 | 完全支持 | 平手 |
| 查询计划可视化 | 基础功能 | 增强版,更直观 | 新版胜 |
| 开源替代 | 无 | 无 | 基本锁定使用 SSMS |
我的结论很直接:直接装最新版 SSMS,不必考虑“为了 SQL Server 2016 装一个旧版 SSMS”这种想法。新工具管理老数据库,完全没问题。
3.4 离线安装场景的特殊处理
有些内网环境或者服务器本身访问外网受限,做离线安装时要注意几个细节。SSMS 的安装包虽然能离线安装,但安装过程中如果系统缺少 VC++ 运行库或 .NET Framework 组件,可能仍然会尝试联网下载。解决办法是事先手动把 .NET Framework 4.8 离线安装包、VC++ Redistributable 2015-2022 都准备好并安装,再装 SSMS 才是真正的纯离线。
如果安装过程中卡在“正在加载包”或“正在下载”阶段很久,通常就是它联网失败了。这时候别一直等,取消安装,按上面的顺序把依赖补上,再重试即可。
4. 常见安装错误与排查技巧实录
4.1 错误速查表
下面这份表格是我在实际部署中遇到过的错误,以及对应的排查思路。全是实践出来的,不是教科书里抄的。
| 错误现象 | 可能原因 | 排查与解决思路 |
|---|---|---|
| 安装规则检查失败,提示重启挂起 | 系统有未完成的更新任务 | 重启系统后再跑安装程序 |
| 安装日志报“无法打开 Windows Installer 服务” | Windows Installer 服务被禁用或损坏 | 在服务管理器里确认 MSIServer 已启用 |
| 数据库引擎安装到 80% 失败 | 磁盘空间不足、权限不足 | 清理磁盘或更换安装目录,授予安装目录的完全控制权限 |
| 无法连接到本地数据库,报“provider: SQL Network Interfaces” | 服务未启动或协议未启用 | 打开配置管理器,检查服务状态,启用 Named Pipes 或 TCP/IP |
| sa 登录失败,提示密码错误 | 身份验证模式或密码策略问题 | 用 Windows 身份验证登录后修改 sa 密码,并确认验证模式是混合模式 |
| SSMS 安装程序报 0x80070643 | .NET Framework 问题或已存在旧版本 | 卸载旧版 SSMS、安装 .NET Framework 4.8,清除临时目录后重装 |
| SSMS 安装时卡在“重试”按钮 | 安装程序未能正常下载依赖组件 | 按离线安装章节的步骤补装 VC++ 运行库和 .NET |
4.2 安装失败后如何回滚重来
安装失败后,系统可能会留下注册表残留和文件残留,如果直接重新安装,很容易再次失败。稳妥的做法是:
- 在“控制面板”的“程序和功能”中卸载所有 SQL Server 相关组件。
- 删除安装目录,默认是 C:\Program Files\Microsoft SQL Server 和 C:\Program Files (x86)\Microsoft SQL Server。
- 如果需要完整清理,还要处理注册表。运行 regedit,删除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server 下的相关项。没把握就别乱动注册表,删错系统变量可能导致大问题,建议只在常规卸载确实不行时才操作注册表。
- 清理临时目录 %TEMP% 下的安装缓存文件。
- 重启系统,再从干净的介质开始安装。
说来也怪,很多“疑难杂症”在彻底清理后来一遍,就好了。反倒是在原基础上反复修补、覆盖安装,问题越补越多。
4.3 安装完连不上的问题排查图
SQL Server 装完之后最常见的现象是本地能用,远程连不上。排查思路按顺序来:
- 服务是否启动:SQL Server 配置管理器里查看 SQL Server 服务。
- TCP/IP 协议是否启用:配置管理器里点击“SQL Server 网络配置”,右键 TCP/IP 选择“启用”。
- 防火墙是否放行 1433 端口:在防火墙高级设置中添加入站规则,允许 TCP 1433。
- 服务是否监听正确端口:命令行执行 netstat -an | findstr 1433,看有没有 LISTENING 状态。如果用的命名实例,端口不一定是 1433,可以在配置管理器里查看 TCP/IP 的属性。
- 客户端连接字符串是否正确:本地连接用“localhost”或“.”即可,远程连接要写成“服务器IP,1433”(注意是逗号不是冒号)。
这套排查流程 90% 的情况下能解决问题。剩下的 10% 通常是主机服务商的安全组策略拦截了端口,那种情况要去云控制台再放行一次端口,服务器防火墙只是第二道坎。
5. 安装完成后的初始化设置
5.1 第一次启动 SSMS 并连接数据库
安装完成后,从开始菜单找到“Microsoft SQL Server Management Studio”并启动。连接对话框需要填写:
- 服务器类型:数据库引擎
- 服务器名称:本机默认实例填“localhost”或“.”;命名实例填“主机名\实例名”
- 身份验证:Windows 身份验证(本机账号登录)或 SQL Server 身份验证(用 sa)
- 登录名和密码:如果选 SQL Server 身份验证,输入 sa 和安装时设置的密码
连接成功后,左侧对象资源管理器会展开,可以看到“数据库”“安全性”“服务器对象”等分组。第一次连接时建议做这几件事:
- 右键服务器属性,检查内存设置,最大值建议设置为物理内存的 70% 左右,留点空间给操作系统和应用程序。默认值是 2147483647MB,也就是不限,在小内存机器上会拖垮整个系统。
- 查看“数据库”下的系统数据库:master、model、msdb、tempdb 就是 SQL Server 的“系统心脏”,不要乱动。
- 右键服务器选择“属性” > “数据库设置”,检查默认数据目录和备份目录是否正确,和安装时指定的路径保持一致。
5.2 创建你的第一个测试数据库
连接成功后,建一个库验证数据库引擎是否真正可用:
CREATE DATABASE TestDB; GO USE TestDB; GO CREATE TABLE dbo.Users ( Id INT IDENTITY(1,1) PRIMARY KEY, UserName NVARCHAR(50) NOT NULL, CreatedAt DATETIME DEFAULT GETDATE() ); GO INSERT INTO dbo.Users (UserName) VALUES ('Alice'), ('Bob'); GO SELECT * FROM dbo.Users; GO能看到返回两行数据,说明数据库引擎、SSMS、连接链路全部没问题。到这一步,整个安装流程才算真正画上句号。
5.3 数据库日常备份策略随手配
装好之后别急着把库“跑起来”,先把备份策略搞定。生产事故高发期往往是刚上线那段时间,还没配好备份策略,一个误操作就数据全没了。
SQL Server 2016 内置了维护计划功能,可以用图形化方式配置定期备份:
- 在对象资源管理器中展开“管理”。
- 右键“维护计划”,选择“新建维护计划”。
- 给计划起个名字,比如“DailyBackup”。
- 从工具箱中拖入“备份数据库”任务。
- 双击该任务,选择要备份的数据库,设置备份到磁盘,指定备份文件目录。
- 点击计划旁边的“...”按钮,设置执行时间和频率,比如每天凌晨 2 点。
- 保存并执行一次,验证备份文件是否生成。
这一步做到了,再配合定期把备份文件拷贝到异地存储,基本就不用担心数据丢失的问题了。很多新人装完数据库就急着建业务表,忽略了备份,等你真正需要备份文件救命的时候,才会意识到这步有多重要。
5.4 常用维护脚本和监控 SQL
我自己在实际运维中离不开这几条 SQL,顺手分享出来。第一条是查看当前有哪些会话和执行中的阻塞情况:
SELECT session_id, status, blocking_session_id, wait_type, wait_time, command FROM sys.dm_exec_requests WHERE blocking_session_id > 0;第二条是查看数据库文件的剩余空间,防止日志文件把磁盘写满:
SELECT DB_NAME(database_id) AS DatabaseName, name AS FileName, size/128.0 AS CurrentSizeMB, size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS FreeSpaceMB FROM sys.master_files;第三条是查看最近执行的耗时较长的查询,用于初步性能问题定位:
SELECT TOP 10 total_worker_time/execution_count AS AvgCPUTime, total_elapsed_time/execution_count AS AvgElapsedTime, execution_count, text FROM sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_sql_text(sql_handle) ORDER BY total_worker_time DESC;这几条语句是排查问题的“敲门砖”,建议存成固定标签,随时能取用。
6. 进阶配置与性能调优建议
6.1 设置最大内存和并行度
SQL Server 装完后,最大的坑就是默认最大内存 2147483647MB。在一台 16GB 内存的开发机上,SQL Server 可能慢慢吃掉 12GB,其余程序全部卡死。
修改方法:右键服务器实例,选择“属性”,点击“内存”,把“服务器最大内存”设置为 12GB 或物理内存的 70% 左右。生产环境配置时,需要留出操作系统内存、杀毒软件、监控客户端等程序的内存,预留过少会导致操作系统内存不够,反而是大事。
最大并行度(MAXDOP)也是一个常见配置点。默认值为 0,表示允许 SQL Server 用所有 CPU 核并行执行查询。对大多数 OLTP 业务场景来说,建议调整为不超过 4,避免并行查询耗尽 CPU 导致系统响应缓慢。修改语句:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'max degree of parallelism', 4; RECONFIGURE;6.2 数据库文件拆分的学问
默认安装下,用户数据库文件和日志文件都在同一个磁盘上,这在新手阶段问题不大,但业务量起来后会发现 IO 读写互相打架。有条件的,建议把数据文件(.mdf)和数据副本文件(.ndf)放在磁盘一,日志文件(.ldf)放在磁盘二,这样写入日志和写入数据可以并行,整体磁盘吞吐会高不少。
如果是已经建好的库,可以通过图形界面把日志文件“移动”到另一个路径。步骤是在数据库属性里,将日志文件的路径改成目标盘,并将“初始大小”设为和当前相同,然后在 SQL Server 配置管理器里重启服务,数据库会自动把文件移动到新位置。
6.3 SQL Server 2016 新特性回顾与适用场景
SQL Server 2016 是这个系列里承上启下的一个重要版本,引入了不少至今仍在使用的特性。装完这个版本,除了基本功能,这几个特性值得你刻意用起来:
- 动态数据掩码:对敏感字段(如手机号、身份证号)进行查询时自动脱敏,开发测试环境特别实用。
- 行级安全性:可以在表上加安全策略,实现“不同用户只能看到属于自己的数据”。
- 内存 OLTP:把热点表放到内存里,大幅提升并发写入性能。SQL Server 2016 比 2014 的版本成熟了很多,做高并发写入场景可以试点。
- Stretch Database:可以将冷数据延伸到 Azure 云端,实现冷热数据分层,不过这个功能现在已经停止后续演进,更多是历史意义。
新特性不需要全上,要根据实际业务场景选型。比如你的项目里没有明显的高并发写入瓶颈,内存 OLTP 反而会增加架构复杂度,并不合适。
6.4 安全配置补齐清单
安装完成后,有几项安全配置容易被忽略,但影响非常大:
- 禁用 sa 账号或设置强密码并定期更换。如果业务必须用 sa,就确保密码足够复杂。
- 定期审查登录账号,禁用离职人员的账号,清理不用的 SQL 登录。这条在团队协作场景中特别重要。
- 配置加密连接(SSL):通过 SQL Server 配置管理器为数据库引擎配置证书,强制客户端使用加密连接。虽然配置麻烦些,但在网络环境不可控的场景下非常有必要。
- 设置错误日志轮换,避免日志无限增大占满磁盘。错误日志文件可以在 SSMS 中右键“SQL Server 日志”设置轮换,也可以配置在诊断连接失败时记日志。
7. 写在最后的几点体会
从我这些年给客户装过的 SQL Server 实例来看,安装这个环节说难不难,说简单也有太多细节容易翻车。最关键的几点,我再集中啰嗦一遍:
第一,准备工作永远比安装本身重要。磁盘空间、.NET Framework、防火墙规则、服务账号,这四项在安装前确认好,后面基本不会遇到大问题。安装失败往往不是安装包的问题,而是环境不干净造成的。
第二,SSMS 大胆装新版。SQL Server 2016 配最新的 SSMS,完全没问题。新版工具的执行计划可视化、对象搜索、脚本生成功能都比老版本好用太多,没必要为了“配套”而死守旧版。SSMS 22.x 安装失败的,先装 .NET Framework 4.8 再试,这一条可以解决一半的安装失败。
第三,装完数据库后,第一时间做三件事:改最大内存、建备份计划、记下数据库文件路径。这三件事做完,你的数据库才算是“初步可用”状态。我见过太多装了 SQL Server 就兴奋地建表、写数据,结果跑了一阵子才发现日志文件把 C 盘写满了的案例。那个滋味真不好受。
最后再分享一个我自己的习惯:每次安装完数据库,我会用 PowerShell 导出一次全量配置快照存档。包括服务账号、端口、内存配置、数据库文件路径、备份计划定义。半年后要迁移或重新部署时,这份快照能省掉大量回溯时间。这个习惯我保持了很多年,每次回忆起来都觉得当初这个决定非常值得。
数据库的安装只是万里长征第一步,后续的性能调优、高可用架构、监控告警才是真正花功夫的地方。先把环境搭稳了,后面的路才能走得顺畅。如果你在安装过程中遇到本文没覆盖到的问题,回头把错误日志发出来,按照 Installation log 里的时间段、错误等级去筛选,基本上都能够定位到根因。有些时候错误日志里会直接出现“Exit code: 0xC0000005”或者某个 msi 包的编号,顺着关键字去搜,网上的踩坑笔记一抓一大把,很快就能找到解法。