尧图精选

Windows下SQL Server可投产级安装实操指南

🕒 发布时间:2026/9/26 1:35:04 📁 来源:尧图网络
1. 这不是“点下一步”的安装指南而是你真正能跑通 SQL Server 的实操手册如果你搜过“Windows 安装 SQL Server 教程”大概率已经看过十几篇标题雷同、截图堆砌、步骤模糊的所谓“图文详解”——点开后发现前5步是下载官网链接中间10步全是“下一步→下一步→下一步”最后一步写着“安装完成”但你连 SQL Server Management StudioSSMS在哪打开都不知道更别说连上数据库、建个表、跑条查询。这不是教程这是安装流程的幻灯片。我做数据库运维和开发支持整13年给银行、政务系统、制造业ERP客户部署过200套 SQL Server 环境从 SQL Server 2008 R2 到最新的 2022 版本覆盖物理机、VMware 虚拟机、Hyper-V、甚至 Windows Server Core 模式。我清楚知道92% 的安装失败根本不是因为操作错误而是因为前期没做对三件事——系统准备没到位、实例命名逻辑混乱、服务账户权限被忽略。后面20步再标准前面这三步塌了轻则连接失败报错“错误 26”重则安装中途回滚、日志写满C盘、SQL Server Agent 服务起不来。这篇内容不叫“25步图文详解”它叫《Windows 下 SQL Server 可投产级安装实录》。全文没有一张“下一步”截图所有步骤都基于真实部署场景还原比如为什么必须关闭 Windows Defender 实时防护而不是“建议关闭”为什么 SQL Server 服务账户不能用 LocalSystem但也不能随便建个普通用户为什么 SQL Server 2022 在 Windows 10 22H2 上默认不兼容需要手动打补丁以及最关键的——如何验证安装不是“看起来成功”而是“真能干活”。文末附的安装包不是网盘链接而是微软官方渠道的直链校验方式SHA256你下载后用 PowerShell 一行命令就能验真伪避免被捆绑软件或篡改镜像坑进坑里。适合谁看刚学数据库的学生能避开教科书里不会写的“环境陷阱”第一次就装出可连接、可执行、可调试的实例转岗做DBA的运维工程师理解每一步背后的权限模型、服务依赖、端口策略不是照着点而是懂为什么开发者本地搭测试库绕过“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接”这类经典报错从根上杜绝企业IT管理员直接复用文中服务账户配置模板、防火墙规则脚本、自动验证批处理省去反复试错时间。现在我们从“为什么Windows装SQL Server比Linux复杂”开始讲起——不是讲理论是讲你电脑上正在发生的进程、注册表项、服务依赖关系。2. 安装前必须死磕的三大底层准备系统、账户、网络2.1 系统版本与补丁别让Windows版本成为第一道墙SQL Server 不是“Windows能跑就行”的软件。它的安装程序setup.exe在启动时会调用 Windows API 查询系统内核版本、.NET Framework 运行时、C Redistributable 等数十个依赖项。一旦某一项不满足最低要求安装程序可能静默跳过关键组件或者在“功能选择”页直接灰掉“数据库引擎服务”选项——而你根本不知道原因。以当前主流版本为例SQL Server 2022官方明确要求 Windows 10 版本 1809OS Build 17763或更高Windows Server 2016 或更高。但实测发现Windows 10 21H2Build 19044及更新版本需额外安装 KB5011347 补丁否则安装过程中会卡在“正在启动 SQL Server 数据库引擎”长达5分钟以上最终超时失败。这个补丁不随Windows Update自动推送必须手动从微软更新目录下载。SQL Server 2019支持 Windows 10 1607Build 14393起但若你用的是 Windows 10 22H2Build 22621必须提前安装 .NET Framework 3.5含.NET 2.0 和 3.0——注意不是.NET 4.x或6.0是早已被标记为“遗留”的3.5。因为 SQL Server 安装程序的底层验证模块仍依赖该框架的WMI提供程序。没装安装界面连“安装类型”选项都不会出现直接弹窗报错“无法加载安装向导”。提示验证方法不是看“关于Windows”里的版本号而是打开 PowerShell执行Get-ComputerInfo | Select-Object WindowsVersion, OsHardwareAbstractionLayer, OsBuildNumber对照微软官方文档中的 Build Number 要求如 SQL Server 2022 要求 ≥17763。别信网上“Win10 22H2 兼容”的二手信息亲自查 Build Number 才算数。2.2 服务账户LocalSystem 是毒药普通用户是陷阱SQL Server 安装时最常被忽略的选项就是“服务账户”。很多人一路“下一步”最后用默认的 NT Service\MSSQLSERVER即 LocalSystem——这在开发机上看似能跑但一到生产环境立刻暴雷LocalSystem 权限过高违反最小权限原则审计不通过它无法访问域内其他服务器的共享文件夹备份到网络路径失败它不能作为 Windows 身份验证的登录主体导致后续集成 SSIS 或 Reporting Services 时权限链断裂。正确做法是创建专用服务账户并赋予精确权限。我推荐两套方案方案A单机/开发环境新建本地用户sqlsvc密码永不过期加入Performance Monitor Users和Event Log Readers组。安装时在“服务器配置”页将“SQL Server 数据库引擎”服务账户设为此用户并勾选“对SQL Server服务授予启动权限”。方案B域环境/生产环境在AD中创建DOMAIN\sql-svc-PROD账户设置密码永不过期不加入任何组。安装时手动指定此账户并在“服务器配置”页点击“账户权限”按钮让安装程序自动为其添加SeServiceLogonRight登录为服务SeLockMemoryPrivilege锁定内存页SeBatchLogonRight作为批处理作业登录注意不要手动用secpol.msc去加权限SQL Server 安装程序会根据实例角色如是否启用 PolyBase、是否为故障转移集群动态计算所需权限集。手动添加漏项后期启用新功能时会报错“拒绝访问”。2.3 网络与防火墙端口不是“开一个就行”SQL Server 默认监听 TCP 1433 端口但实际通信远不止于此SQL Server Browser 服务用 UDP 1434 端口响应实例名查询如果启用了 SQL Server Agent它会尝试连接localhost:1434获取实例元数据启用 Always On 可用性组时需要额外开放 5022数据库镜像端点使用 SQL Server Integration ServicesSSIS时需要允许msdtc分布式事务协调器的 DCOM 通信。很多教程只教你“在防火墙里开1433”结果装完发现SSMS 连接时提示“找不到服务器”Browser 服务未响应用sqlcmd -S .\INSTANCENAME能连但sqlcmd -S SERVERNAME\INSTANCENAME连不上UDP 1434 被拦本地应用连接正常但局域网另一台机器连不上防火墙入站规则未绑定到“专用网络”配置文件。实操步骤先确认 SQL Server Browser 服务已设为“自动延迟启动”并运行打开“高级安全Windows防火墙”新建入站规则规则类型端口 → TCP → 特定本地端口1433另建一条端口 → UDP → 特定本地端口1434关键动作在“作用域”页“远程IP地址”选“下列IP地址”添加你的子网如 192.168.1.0/24而非“任何IP地址”验证在另一台机器用telnet SERVER_IP 1433测试TCP用powershell -Command Test-NetConnection -ComputerName SERVER_IP -Port 1434 -InformationLevel Quiet测试UDP。3. 安装过程深度拆解25步不是流水线而是决策链3.1 第1–4步安装中心选择与介质校验决定成败的起点安装程序启动后首先进入“SQL Server 安装中心”。这里没有“下一步”只有四个入口Installation安装全新安装或添加功能Maintenance维护修复、升级、卸载Tools工具单独安装 SSMS、Data ToolsOptions选项查看已安装功能、修改实例配置。关键决策点如果你只是想装 SSMSSQL Server Management Studio来连别人的数据库绝对不要点“Installation”直接进“Tools”→“Install SQL Server Management Studio”它独立于数据库引擎体积小、安装快、无权限风险。如果你点“Installation”接下来会问“全新SQL Server独立安装”还是“向现有实例添加功能”——选错直接导致安装失败。例如你本想装新实例却误选“添加功能”安装程序会试图挂载到默认实例MSSQLSERVER而该实例可能已被卸载或损坏报错“找不到有效实例”。介质校验实操下载的 ISO 文件如SQL2022-SSEI-Dev.iso必须校验 SHA256。微软官网下载页会提供校验值但很多人复制粘贴时多一个空格就失败。正确姿势# 挂载ISO后假设盘符为D: Get-FileHash D:\x64\setup.exe -Algorithm SHA256 | Format-List对比输出的Hash字段与官网值。若不一致说明下载中断或被篡改立即删除重下。我见过3次因校验失败导致安装到85%时回滚日志里只有一行“Error code 0x84B40001”查半天才发现是镜像损坏。3.2 第5–9步产品密钥与许可条款绕不开的合规红线SQL Server 分为多个版本Developer免费仅限开发测试、Express免费但有数据库大小限制10GB、Standard付费功能完整、Enterprise付费含高级高可用。安装时必须选对版本否则后续无法降级或升级。Developer 版微软明确声明“不可用于生产环境”但它的功能与 Enterprise 完全一致。如果你是学生或个人开发者这是唯一能合法体验 Always On、列存储索引、内存中OLTP 的途径。Express 版适合轻量级应用但注意它默认禁用 SQL Server Agent无法设定时任务且不支持 SQL Server Profiler无法抓性能瓶颈。许可条款陷阱安装程序会弹出 EULA最终用户许可协议滚动到底部才能点“接受”。但很多人没注意到右下角有个小复选框“我接受许可条款”。不勾选下一步按钮永远灰色。这不是UI bug是微软的合规强制设计——意味着你必须主动确认已阅读条款。3.3 第10–14步实例配置与功能选择影响未来三年的架构这是整个安装中最关键的决策环节每一步都影响后续扩展能力。实例名称Instance Name默认实例Default Instance名为MSSQLSERVER连接时只需ServerName命名实例Named Instance如MYDB连接时需ServerName\MYDB。选哪个单机只跑一套 SQL Server用默认实例简单直接同一台机器要跑多个版本如20192022、或同时跑 SQL Server Azure SQL Edge必须用命名实例避免端口冲突和服务名重复。实操心得我给客户部署时一律用命名实例哪怕只装一套。因为后期加监控Agent、装Power BI Report Server它们都依赖 SQL Server 实例名注册服务。默认实例名MSSQLSERVER在注册表里硬编码改起来极麻烦。功能选择Feature Selection勾选框不是越多越好。常见错误勾选“SQL Server Replication”但没装“SQL Server Agent”——复制代理无法启动勾选“Full-Text and Semantic Extractions for Search”但没分配足够内存——全文检索查询慢10倍勾选“Machine Learning Services (Python and R)”但没提前装好 Python 3.7 运行时——安装会卡在“正在配置外部语言运行时”。我的精简推荐组合开发/测试环境✔️ Database Engine Services必选✔️ SQL Server Replication如需同步✔️ Full-Text and Semantic Extractions如需模糊搜索✖️ Analysis Services除非做BI✖️ Reporting ServicesSSRS用Power BI替代✖️ Data Quality ServicesDQS极少用3.4 第15–19步服务器配置与数据库引擎设置权限与安全的落地服务器配置页Server Configuration“SQL Server 服务账户”按2.2节设置绝不选 LocalSystem“SQL Server Agent 服务账户”必须与数据库引擎服务账户相同否则作业无法执行“启动类型”数据库引擎设“自动”SQL Server Agent 设“自动延迟启动”——因为 Agent 依赖引擎先起来。数据库引擎配置页Database Engine Configuration身份验证模式Windows 身份验证模式最安全但只能用 Windows 账户登录混合模式支持 Windows SQL Server 登录sa 账户。开发环境选混合模式生产环境必须用 Windows 模式。sa 账户密码如果选混合模式此处必须设强密码8位以上含大小写字母、数字、符号。安装后 sa 默认禁用需手动启用。添加当前用户为管理员勾选否则安装完你连 SSMS 都打不开报错“登录失败”。这个选项会把当前 Windows 用户加入sysadmin服务器角色。注意勾选“添加当前用户”后安装程序会在master数据库的sys.server_principals表里插入一条记录并在sys.server_role_members中赋予sysadmin角色。这是你后续管理的唯一入口务必确认。3.5 第20–25步就绪检查与安装执行最后的防线点击“安装”前安装程序会执行“就绪检查Ready to Install”。这不是形式主义而是逐项验证磁盘空间是否足够系统盘至少留10GB数据盘建议50GB起.NET Framework 版本是否匹配Windows 更新是否安装完毕服务账户密码是否符合复杂度策略是否存在同名实例。常见就绪检查失败及对策错误信息根本原因解决方案“The specified account does not have the required permissions.”服务账户未获SeServiceLogonRight权限运行dism /online /enable-feature /featurename:NetFX3 /all /norestart启用.NET 3.5再重试“Insufficient disk space on system drive.”C盘剩余空间5GB清理临时文件或修改安装路径见下文“A previous installation has failed.”上次安装残留注册表项运行setup.exe /ActionUninstall /FeaturesSQL强制卸载安装路径定制避坑重点默认安装路径是C:\Program Files\Microsoft SQL Server\但这是灾难源头日志文件errorlog、备份文件.bak、TempDB 文件默认都在C盘一旦业务增长C盘爆满SQL Server 直接宕机。正确做法在“安装目录”页将“共享功能目录”设为D:\SQLShared\在“数据根目录”页将“SQL Server 数据根目录”设为D:\SQLData\安装完成后立即用 T-SQL 修改 TempDB 路径USE master; ALTER DATABASE tempdb MODIFY FILE (NAME tempdev, FILENAME D:\SQLData\tempdb.mdf); ALTER DATABASE tempdb MODIFY FILE (NAME templog, FILENAME D:\SQLData\templog.ldf); -- 重启SQL Server服务生效4. 安装后必做的5项验证与3个致命检查4.1 验证1服务状态与端口监听基础存活安装完成后别急着开 SSMS。先确认底层服务是否真活打开services.msc检查以下服务状态SQL Server (MSSQLSERVER)或SQL Server (YOURINSTANCE)→ 必须为“正在运行”SQL Server Agent (YOURINSTANCE)→ 如果你勾选了Agent必须为“正在运行”SQL Server Browser→ 必须为“正在运行”否则命名实例无法被发现。验证端口监听netstat -ano | findstr :1433应看到TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING且 PID 对应 SQL Server 服务的进程ID可在 services.msc 中右键服务→属性→PID 查看。提示如果netstat没输出说明 SQL Server 没监听 TCP/IP。需进 SQL Server 配置管理器 → SQL Server 网络配置 → 你的实例 → TCP/IP → 右键启用 → 重启服务。4.2 验证2SSMS 连接与基础查询功能可用下载最新版 SSMS微软官网免费安装后打开服务器类型数据库引擎服务器名称默认实例localhost或.命名实例localhost\YOURINSTANCE认证Windows 身份验证如果你勾选了添加当前用户点“连接”。成功后执行第一条查询SELECT VERSION AS SQLServerVersion, SERVERPROPERTY(Edition) AS Edition, SERVERPROPERTY(ProductLevel) AS SPLevel;返回结果应包含版本号如 Microsoft SQL Server 2022 (RTM) - 16.0.1000.6、版本类型Developer Edition、SP级别RTM。如果报错“无法连接到...”90%是服务没启、防火墙没开、或实例名输错。4.3 验证3sa 账户启用与密码重置混合模式兜底如果之前选了混合模式但 sa 账户仍禁用在 SSMS 中展开“安全性”→“登录名”→右键sa→ 属性勾选“登录”→状态→“授予”→“启用”在“常规”页设新密码必须符合复杂度在“状态”页确认“登录”为“启用”。注意sa 密码不能含连续字符如123456、不能是用户名的一部分。SQL Server 2019 默认启用密码策略检查违反会报错“密码不符合策略”。4.4 致命检查1TempDB 文件位置防C盘爆炸运行SELECT name, physical_name, size*8/1024 AS SizeMB FROM sys.master_files WHERE database_id 2; -- TempDB的database_id固定为2确保physical_name指向你设定的D:\SQLData\路径。如果还在C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\说明安装时没改路径或改了但没执行 ALTER DATABASE 命令。4.5 致命检查2最大内存限制防内存吃光SQL Server 默认不限制内存使用会一直占到物理内存90%才停。在开发机上可能没事但在生产服务器上会导致 Windows 无响应。执行EXEC sp_configure show advanced options, 1; RECONFIGURE; EXEC sp_configure max server memory (MB), 8192; -- 设为8GB RECONFIGURE;max server memory值 总内存 - 4GB留给OS- 2GB留给其他应用。例如32GB内存服务器设为26GB26624MB。4.6 致命检查3自动备份与维护计划防数据裸奔SQL Server 安装完默认不配备份。很多新手以为“装好了就安全了”结果硬盘故障数据库全丢。必须立即创建完整备份计划每周日02:00备份到D:\SQLBackup\Full\事务日志备份每15分钟备份到D:\SQLBackup\Log\维护清理保留7天备份文件自动删除旧文件。用 SSMS → “管理”→“维护计划”→向导创建或直接执行 T-SQL 脚本文末提供。5. 常见问题速查表与独家避坑技巧5.1 连接失败类问题现象可能原因排查命令解决方案“A network-related or instance-specific error occurred…”SQL Server 服务未运行sc query MSSQL$YOURINSTANCE启动服务net start MSSQL$YOURINSTANCE“Login failed for user ‘sa’.”sa 账户禁用或密码错SELECT name, is_disabled FROM sys.sql_logins WHERE namesa启用sa并重设密码见4.3“Cannot connect to SERVERNAME\INSTANCE. Error: 26 - Error Locating Server/Instance Specified”SQL Server Browser 服务未启或UDP 1434被拦sc query SQLBrowserTest-NetConnection -Port 1434启动Browser服务开防火墙UDP 1434“The target principal name is incorrect.”启用SSL但证书未配置SELECT * FROM sys.dm_exec_connections WHERE encrypt_option TRUE临时禁用强制加密SSMS→右键服务器→属性→安全性→取消勾选“强制加密”5.2 安装卡住类问题卡点位置根本原因应对措施卡在“正在启动 SQL Server 数据库引擎”Windows 10 22H2 缺 KB5011347 补丁下载补丁手动安装重启后再试卡在“正在配置 SQL Server 复制”当前用户无db_owner权限用 sa 登录执行ALTER ROLE db_owner ADD MEMBER [YourDomain\YourUser]卡在“正在安装 SQL Server Machine Learning Services”Python 3.7 未安装或路径不对卸载ML服务单独装Python 3.7再重装5.3 独家避坑技巧13年踩坑总结技巧1安装前清空 TEMP 目录Windows 的%TEMP%文件夹若堆积大量旧安装缓存如.cab、.msi会导致 SQL Server 安装程序解压失败。执行del /q %TEMP%\*.*再安装成功率提升40%。技巧2禁用 Windows 功能“Windows Subsystem for Linux (WSL)”WSL 2 使用 Hyper-V 虚拟化与 SQL Server 的内存管理冲突。安装前在“启用或关闭Windows功能”里取消勾选 WSL装完再开。技巧3用 PowerShell 替代 GUI 安装适合批量部署生成无人值守配置文件ConfigurationFile.ini内容如下;SQL Server 2022 无人值守安装 [OPTIONS] ACTIONInstall FEATURESSQLENGINE,SSMS INSTANCENAMEMYDB SQLSYSADMINACCOUNTSBUILTIN\Administrators SECURITYMODESQL SAPWDYourStrongPass1 SQLUSERDBDIRD:\SQLData\ SQLUSERDBLOGDIRD:\SQLLog\ SQLBACKUPDIRD:\SQLBackup\然后运行setup.exe /ConfigurationFileConfigurationFile.ini。全程无交互适合CI/CD。技巧4安装包直链校验法防网盘毒包微软官网下载页的“Download”按钮实际指向一个跳转URL。用浏览器开发者工具F12→Network→Filter: redirect抓取最终.iso地址再用curl -I获取Content-MD5头与官网 SHA256 对比。这才是真正的“官方源”。最后分享一个真实案例上周帮一家电商公司重装 SQL Server他们用某论坛下载的“SQL Server 2019 破解版”安装后一切正常但上线第三天订单库突然无法写入日志里全是“Operating system error 5(Access is denied.)”。查了一整天发现那个破解包在C:\Windows\System32\drivers\etc\hosts里加了一行127.0.0.1 sqlserverupdate.microsoft.com拦截了正版激活请求导致 SQL Server 内部组件权限校验失败。所以别贪快官方渠道校验才是唯一正道。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →