SQL Server 2022 在 Windows 10 上的安装卸载避坑指南

发布时间:2026/9/13 21:04:57
SQL Server 2022 在 Windows 10 上的安装卸载避坑指南
哪个做开发的没被数据库安装卸载折磨过SQL Server 2022 在 Windows 10 下装起来看着是图形界面一步步点真正跑起来遇到的服务启动失败、安装卡死、卸载残留问题一个比一个耗时间。尤其是那些控制面板找不到卸载后装不上的问题十有八九是没搞清楚 SQL Server 的组件结构。这篇内容基于我实际在 Windows 10 专业版和家庭版上都操作过的经验把一次完整安装、验证、卸载、重装排坑的过程记录下来每个步骤都带着当时为什么踩坑的说明希望能让后来的人少走弯路。如果你正准备在这台 Windows 10 机器上部署 SQL Server 2022或者正被卸载残留搞得焦头烂额这篇内容适配你的场景。1. 安装前的硬性检查和版本选择避免装到一半才发现条件不满足1.1 硬件与系统版本的真实门槛微软官方给出的 SQL Server 2022 最低硬件要求是 2GB 内存、6GB 可用磁盘但那是能跑的最低标准。如果只是本地开发用建议至少 8GB 内存起步因为 SQL Server 默认会占用相当一部分内存作为缓冲池。我在 8GB 内存的 i5 笔记本上装过平时连接和查询没问题一旦同时开 SSMS 和 Visual Studio系统内存占用直接飙到 85% 以上。如果是 16GB 内存体验就从容很多。Windows 10 的版本需要注意几点版本必须 1607 及以上也就是 2016 年 7 月之后的版本低于这个版本安装程序会直接拒绝。磁盘格式建议 NTFS因为 SQL Server 的数据文件和日志文件对文件系统有要求FAT32 在后续配置时会出问题。系统盘剩余空间至少预留 10GB但注意 SQL Server 默认安装路径在C:\Program Files\Microsoft SQL Server\安装过程中会生成大量临时文件所以实际建议预留 20GB 以上。注意Windows 10 家庭版可以正常安装 SQL Server 2022 Developer 版和 Express 版这一点很多教程没提。家庭版和企业版的限制主要在一些 Windows 功能组件上对 SQL Server 本体安装影响不大。1.2 版本选择为什么我推荐 Developer 版而不是企业版SQL Server 2022 的版本矩阵大致如下版本适用场景价格备注Enterprise企业版生产环境大规模部署按核心数计费功能完整但授权成本高Standard标准版中小型业务部署中等有内存和计算限制Developer开发者版开发测试使用免费功能等同于企业版但不可用于生产Express快速版教学、小应用免费功能受限单库 10GB 上限如果你是在自己电脑上学习、做项目开发、测试数据迁移直接选 Developer 版就行。它拥有企业版的全部功能唯一的限制是不能作为生产数据库对外提供服务这对个人开发测试来说完全够用。Express 版的限制太多单数据库文件 10GB 的上限对稍微复杂一点的项目就是瓶颈而且没有 Agent 服务做自动化任务时很别扭。需要留意的是SQL Server 2022 的安装包体积不小完整安装镜像约 2GB 左右。下载时建议直接从微软官网下载不要用第三方站点搬运的所谓绿色版或精简版那些版本阉割了组件后续出问题排查起来很痛苦。1.3 安装前的组件检查清单在双击安装包之前我建议按照以下顺序做一轮预检这一步至少能避免 70% 的中途卡住问题关闭所有第三方杀毒、安全防护软件。Windows 10 自带的 Defender 一般不会影响 SQL Server 安装但国内的第三方安全软件比如常见的奇安信、360 等有可能会拦截 SQL Server 的服务注册出现安装程序无法启动服务的错误。打开 Windows Update 服务并检查系统补丁。SQL Server 2022 要求 Windows 10 有较新的 CU 更新如果你长期没有更新系统安装过程中可能会报缺少某个 Windows 补丁。确认 .NET Framework 3.5 和 4.8 状态。在启用或关闭 Windows 功能中检查这两项。SQL Server 安装程序会调用 .NET Framework如果缺失安装过程会卡在正在检查系统配置这一步很久。配置 SQL Server 安装账户。安装过程会要求设置服务账户你可以直接用 NT Service 方式避免使用本地系统账户带来的权限过大的问题。预检这一步看起来麻烦但等到装到一半安装程序弹出一个无法更新数据库或者服务启动超时的红色报错再回头来找原因耽误的时间只会更多。2. 安装过程中的关键配置别急着无脑下一步2.1 安装中心选择从全新安装进入双击setup.exe后会进入 SQL Server 安装中心。这时要注意左侧有规划安装维护工具等几个标签页。这里直接用安装选项卡下的全新 SQL Server 独立安装或向现有安装添加功能。不建议在规划界面先做系统配置检查那个检查项卡住之后你都不知道是笔电的哪个条件不满足。直接进入安装向导它会在第三步自动检查系统配置有红色警告时再逐条看。2.2 功能选择哪些必选哪些按需进入功能选择页面后默认只勾选了数据库引擎服务。根据我实际使用经验建议按以下方式勾选必选数据库引擎服务核心推荐勾选客户端工具连接必备后续连接要用客户端工具 SDK做一般的脚本开发会有用SSMSSQL Server Management Studio——但实际你会发现SSMS 在 SQL Server 2022 安装向导中已经不再是可选组件安装完成后需要单独到微软官网下载最新版的 SSMS 20.x。这一点很多新装用户都会疑惑装完 SQL Server 后开始菜单里找不到Management Studio。可选Integration Services做数据导入导出任务时用得到如果你只是学习和基本开发可以先不选强烈不建议Analysis Services、Reporting Services这两个服务对普通开发场景用处不大且会显著增加安装时间和内存占用功能选择页面下方有一个共享功能目录的配置建议使用默认路径。不要为了省 C 盘空间去改成 D 盘后面升级补丁时你会体会到默认路径的便利。2.3 实例配置默认实例还是命名实例这一节可能是新手最容易糊涂的地方。SQL Server 支持一台机器上装多个实例每个实例互相独立监听不同的端口。实例类型有默认实例只有一个实例名为 MSSQLSERVER连接时只需要写服务器名即可如localhost。命名实例可以多个实例名跟在服务器名后如localhost\SQLEXPRESS。如果在同一台机器上做开发建议使用默认实例加自定义实例名的方式比如localhost\DEV2022。这样做的好处是如果以后装了别的数据库产品比如 MySQL两者互不冲突而且卸载重装时只卸载特定实例也不会影响其他实例。需要特别说明的是实例的根目录默认是在C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\实例名一旦确定后面改起来很麻烦所以取名的时候要想清楚。我见过有人用test做实例名后面项目上线后还得重建实例导数据非常折腾。2.4 服务器配置页和服务账户的处理服务器配置页面中几个 SQL Server 服务的账户默认是NT Service\MSSQLSERVER。这里建议保持默认不要改成Network Service或Local System。有个很容易被忽略的坑是排序规则Collation默认是SQL_Latin1_General_CP1_CI_AS中文环境通常也能用但如果项目要求中文排序规则可以在这里改成Chinese_PRC_CI_AS。需要提前确认好因为排序规则影响字符串比较和索引重建后期修改需要对数据库做离线重建代价很高。还有 SQL Server 的身份验证模式。安装向导中会让你选择 Windows 身份验证模式还是混合模式。混合模式在这里就需要为sa账户设定密码。我建议开发环境直接选混合模式因为后续开发连接字符串时用sa账户比 Windows 验证方便得多。密码需要设置得复杂一点至少 8 位、包含大小写字母和数字不然安装向导会提示密码强度不足。2.5 数据目录和 TempDB 配置在数据库引擎配置的数据目录页签下SQL Server 2022 默认将所有数据库文件、日志文件、备份目录都放在 C 盘。如果 C 盘充裕可以不动但我个人的做法是数据文件目录D 盘D:\SQLData放 .mdf 和 .ldf 文件备份目录D 盘D:\SQLBackupTempDB 目录建议保留在 C 盘或者放到读写速度更快的 SSD 盘把数据文件放在非系统盘主要是为了隔离系统重装的风险。试想一下 Windows 10 系统崩溃需要重装如果数据库文件全在 C 盘里那数据就跟着报销了。实际部署中我也建议把数据盘和系统盘分开这也是生产环境的标准配置。2.6 安装过程中的一个关键等待点点击安装按钮之后安装进程大约要持续 15 到 30 分钟具体时间取决于硬盘速度和系统性能。这个过程中建议不要打开其他大型软件安装程序在前面提到的工作流中会多次重启服务。如果此时杀毒软件弹窗询问是否放行 SQL Server 相关服务一定要点允许否则安装会中断。安装完成后如果是第一次安装 SQL Server此时还需要注意SQL Server 2022 默认不会开启 TCP/IP 协议。这会导致后面你用 SSMS 或代码连接时报无法连接到服务器的错误。这个问题我们在下一个章节详细说。3. 安装完成后的验证与初始化设置装完不等于能用3.1 连接测试用 sqlcmd 和 SSMS 分别验证安装向导最后一步点击关闭后第一件事就是验证安装是否成功。我习惯先用命令行工具sqlcmd快速验证sqlcmd -S localhost -E如果返回1提示符说明连接成功。如果没有这个命令说明功能选择中没有勾选客户端工具连接可以回到安装中心用安装 → 向现有安装添加功能补装。图形界面方面需要到微软官网下载 SSMS 20.x目前最新的大版本注意 SSMS 和 SQL Server 是独立更新的不要指望安装 SQL Server 时自动带上 SSMS。SSMS 安装后首次连接时服务器名称填localhost默认实例或localhost\实例名命名实例身份验证选 Windows 认证点连接即可。3.2 开启 TCP/IP 协议的完整步骤如果后续程序需要通过端口连接 SQL Server比如 JDBC、ODBC、Python 的 pyodbc必须启用 TCP/IP。默认安装下该项是禁用状态。操作路径如下打开SQL Server 配置管理器在开始菜单搜索 SQL Server Configuration Manager在左侧导航树中展开SQL Server 网络配置选中你的实例右侧窗口中把TCP/IP协议右键启用。然后到SQL Server 服务中重启 SQL Server 服务。注意很多人在配置管理器里改完 TCP/IP 后忘了重启服务导致改动不生效。另外SQL Server 2022 默认监听端口是 1433默认实例如果这个端口被其他程序占用需要到 TCP/IP 协议的IPAll中修改TCP 端口为你自定义的端口号。3.3 设置防火墙入站规则开启了 TCP/IP 之后如果你只是本机连接这一步可以跳过。但如果你想在同一局域网中的另一台电脑上连接这台 SQL Server就需要在 Windows 防火墙中放行 1433 端口。用管理员权限打开 PowerShell执行以下命令New-NetFirewallRule -DisplayName SQL Server 2022 Port -Direction Inbound -LocalPort 1433 -Protocol TCP -Action Allow如果你改了自定义端口把命令中的 1433 改成你的实际端口值即可。这里建议只对 TCP 放行不要对 UDP 放行减少无谓的暴露面。3.4 验证安装版本和补丁级别连接成功后可以执行下面的 SQL 语句确认版本信息SELECT VERSION;如果输出显示Microsoft SQL Server 2022 (RTM-Cumulative Update X)说明安装成功。如果输出版本号末尾是RTM而没有CU字样建议尽快到微软官网下载最新的累积更新Cumulative Update因为 RTM 版本往往包含一些已修复的 bug特别是和 Windows 10 下高版本显卡驱动、内存压力相关的稳定性问题。3.5 tempdb 和内存设置的建议参数开发环境在使用中我建议对 SQL Server 的默认配置做两个调整默认max server memory没有限制SQL Server 会自动占用系统所有可用内存导致本机其他软件卡顿。建议通过 SSMS 连接到实例后打开服务器属性 → 内存将最大服务器内存设置为物理内存的 70%~80%。比如 16GB 内存的机器设置为 12288MB 左右。默认tempdb数据文件只有 8MB 且只有一个建议把初始大小调整到 1GB并增加一个文件以缓解并发查询时的文件增长开销。这个操作在我的开发环境中对编译复杂 SQL 时的响应速度有明显改善。4. 卸载 SQL Server 2022 的完整流程常规卸载与强制清理4.1 为什么要专门讲卸载残留的危害SQL Server 的卸载和安装一样都有比较多的坑。很多人卸载完 SQL Server 后发现在控制面板 → 程序里找不到 SQL Server 了但磁盘空间也没有释放多少再次安装时直接报已有同名实例存在或者数据库引擎服务无法启动。这些问题的共同根源就是卸载不干净。SQL Server 2022 的组件非常多包括数据库引擎、Agent、SSMS、本地 DB、集成服务等等这些组件在卸载时如果顺序不对或者某个组件卸载失败就会在注册表、服务列表、文件系统中留下大量残留。另外微软官方并没有提供一个一键卸载的管理工具SQL Server 安装中心里的维护 → 卸载功能有但覆盖范围有限它只负责处理主要组件不负责清理数据文件、日志文件以及部分注册表项。4.2 标准卸载路线通过安装中心卸载Windows 10 下较为稳妥的标准流程如下先备份数据。如果数据库中有数据在卸载前务必做一次完整备份在 SSMS 中右键数据库 → 任务 → 备份备份文件保存到非 SQL Server 安装目录比如 D 盘或者移动硬盘。打开控制面板 → 程序 → 程序和功能或者在 SQL Server 安装中心中选择维护 → 卸载执行 SQL Server 卸载。在 SSMS 弹出的卸载界面中可以直接在程序和功能里卸载 SQL Server 相关组件。卸载顺序方面建议按依赖关系反向卸载先卸载 SSMS如果单独安装过再卸载 Integration Services / Reporting Services 等附加组件最后卸载 SQL Server 主实例。卸载过程中如果提示需要重启计算机先重启再继续后续清理不要跳过否则残留的服务状态可能导致后续无法卸载。但哪怕按照官方流程走完还是有极大几率在注册表和服务列表中看到曾经的实例痕迹。4.3 彻底清理删除残余服务和注册表项清理残余服务是很多教程里容易漏掉的一步。用管理员权限打开cmd或 PowerShell执行sc query | findstr /i MSSQL查看是否还有与 SQL Server 相关的服务名存在例如MSSQLFDLauncher、SQLAgent、MSSQLSERVER等。如果是已经卸载但服务仍存在的状态使用sc delete 服务名删除这些残留服务。删除时服务名建议加双引号因为有些内部服务名包含空格。然后打开注册表编辑器regedit导航到以下几个路径把与你卸载的实例相关的键删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\删除注册表项前建议先右键导出备份虽然理论上还能搜到网上有人传修复注册表但实际操作中一旦删错系统级键值修起来异常麻烦。注册表操作一定要谨慎。文件残留方面删除以下目录中与 SQL Server 相关的文件夹C:\Program Files\Microsoft SQL Server\C:\Program Files (x86)\Microsoft SQL Server\C:\ProgramData\Microsoft\Microsoft SQL Server\实例数据目录如果你在安装时指定了 D 盘比如D:\SQLData删除数据目录前需要确认没有其他数据库文件在别处如果还有其他程序在调用这些文件删除可能导致程序报错。提示SQL Server 安装过程中会自动生成一些带 GUID 的临时目录比如C:\Windows\Temp下的这些可以在卸载完成后使用磁盘清理工具一并处理不必逐一手动找。4.4 当控制面板找不到SQL Server条目时的替代方案有相当一部分用户在程序和功能里找不到 SQL Server 主条目这通常是因为已安装组件被部分卸载或者注册表中相关卸载项被第三方清理工具误删。这时候有几个选择在 Windows 10 设置 → 应用 → 已安装的应用中按Microsoft SQL Server关键字筛选如果有残余组件在这里可以看到并卸载。使用微软官方的程序安装和卸载疑难解答工具Microsoft Program Install and Uninstall Troubleshooter它可以根据产品名强制触发卸载流程。注意这个工具对 SQL Server 大型组件的效果不一定理想但值得一试。如果产品和功能里真的什么都没有那就只能走手动清理路线删除服务、注册表、文件夹这也更接近很多人的实际情况。手动清理后再尝试重装 SQL Server。我在一次测试环境里就用过这个方法控制面板找不到 SQL Server 条目但服务里还有MSSQLSERVER在启动最后靠sc delete加手动删除注册表键和C:\Program Files\Microsoft SQL Server目录搞定重新安装时没有报冲突。5. 卸载后重装遇到的典型故障链路与排查思路5.1 故障一提示实例名已存在但服务列表里看不到这是卸载残留最常见的情形。重新运行安装程序输入之前用过的实例名安装向导在实例配置页报红提示指定的实例名称已存在。排查思路先不要试图用其他实例名绕过因为残留的注册表项和文件会对新实例造成不可预知的干扰。打开服务管理器services.msc搜索MSSQL确认是否有服务仍存在即使状态显示已停止。如果有sc delete删除。打开注册表编辑器检查HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL右侧会列出实例名 → 实例ID的映射。删除你要重装的实例名对应的值。这个键是判断实例是否存在的核心依据SQL Server 安装程序在检查实例名是否可用时主要看这里。清理完成后重新打开 SQL Server 安装中心再走一遍全新安装流程。5.2 故障二安装进程卡在数据库引擎服务启动环节重装时安装向导进行到服务启动阶段进度条长时间不动随后报错服务未能启动或服务启动请求已超时。这种情况通常是微软的服务账户权限或上次卸载残留的数据库文件被新实例读取导致的。排查链路如下先检查 Windows 事件查看器eventvwr.msc→ Windows 日志 → 应用程序找到最近时间点 SQL Server 对应的错误记录重点看有没有File Activation Failure或Directory lookup for xxxx failed关键词。如果出现目录相关的错误说明新实例试图访问的数据库文件路径通常是你上一次安装时配置的 D 盘路径指向的目录已被删除。解决方案是创建该目录甚至创建一个空的同名数据文件或者重新指定一个目录。如果事件日志中没有明显错误检查C:\Program Files\Microsoft SQL Server\下是否残留了旧版本的MSSQL16.MSSQLSERVER文件夹。有时候卸载过程没有删除某些 DLL 或 mdf 文件这些文件会被新实例识别尝试挂载一挂载失败就启动不了。这时可以重命名或删除旧目录注意先备份。5.3 故障三卸载后 SQL Server Browser 服务仍然占用端口SQL Server Browser 服务负责提供命名实例的端口映射默认使用 UDP 1434。如果你卸载了默认实例但 Browser 服务还残留并占用端口会影响其他使用 1434 端口的程序。解决方法是直接在服务管理器中找到SQL Server Browser查看其可执行文件路径。如果路径指向C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe或类似路径且确认 SQL Server 已卸载可以sc delete SQLBrowser配合删除C:\Program Files (x86)\Microsoft SQL Server目录。5.4 故障四卸载后系统变慢或安全软件拦截导致无法写注册表卸载过程中如果遇到安全软件弹窗提示某个程序正在写入注册表而用户点了阻止那么注册表清理基本不完整。此时再次安装安装程序会在系统配置检查阶段报无法写入注册表或注册表权限不足。手动处理前先把安全软件退出然后用管理员权限打开 PowerShell 执行Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server -Recurse | Set-ItemProperty -Name * -Value $null -ErrorAction SilentlyContinue这个命令不是直接删除键而是测试当前账户对 SQL Server 注册表键的访问权限。如果在这里报拒绝访问那说明键的权限已经被之前的操作破坏。此时需要右键该注册表项 → 权限 → 将这个键的所有者改为当前管理员用户并勾选完全控制后再右键删除。这一系列操作对新手来说有一定复杂度但它确实是我实测下来比较稳妥的恢复方式。6. 我的几条实战经验总结与建议6.1 关于安装卸载的最优顺序装好 SQL Server 2022 后建议按以下顺序做周边配置启用 TCP/IP 并重启服务。安装最新 SSMS 并连接验证。修改max server memory限制防止内存被吃满。开启防火墙 1433 端口仅当需要远程连接时。设置定期备份计划使用 SQL Server Agent即使开发环境备份习惯也要确立。6.2 宁愿多花十分钟准备也不要花两小时排查安装前花十分钟做预检包括关闭安全防护软件、创建独立的数据目录、核对实例名和排序规则带来的收益远大于临时发现问题再去补救。特别是排序规则选错和实例名不理想这两个问题在项目跑到中后期发现再改代价几乎是重建整个实例。6.3 卸载时不要恋战如果某个组件卸载时报错我的处理原则是先在程序和功能里把能正常卸载的都卸载完然后重启系统再回来处理报错的组件。有时候重启后Windows 的依赖项会重新解析错误自愈的概率不低。不要在同一轮卸载中反复尝试容易把注册表搞得更乱。6.4 了解 CPU 核心数对标准版授权的影响如果你用 Standard 版不是 Developer 免费版SQL Server 2022 标准版仅支持前 4 个 CPU 插槽或 24 核。Windows 10 工作站版配备多核 CPU 时需要确认授权是否符合需求否则性能监控中会出现 CPU 使用率异常的问题。当然开发学习场景用 Developer 版就完全没有这个顾虑。6.5 最后的建议善用安装中心自带的维护工具SQL Server 2022 安装中心左侧的维护选项卡下有几个隐藏的实用功能包括修复和卸载。遇到服务启动异常而无法卸载时先执行修复完成后再重新走卸载流程。这个方法有时比暴力清理注册表高效很多。数据库安装卸载这件事本质上考验的不是点鼠标的技术而是对环境依赖和组件模型的理解程度。SQL Server 2022 在 Windows 10 上已经算是对新手非常友好的数据库产品了真正的坑大多集中在安装前没有规划实例名和路径和卸载时忽略服务与注册表残留上这两个坑踩平了后续的开发和维护就会顺畅很多。