ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SQL Server 2022 Express 本地开发安装配置与问题排查实战指南

SQL Server 2022 Express 本地开发安装配置与问题排查实战指南 1. 为什么本地开发还需要装一个 SQL Server 2022 Express很多人一提到数据库第一反应就是 MySQL 或者 PostgreSQL觉得 SQL Server 是企业里才用的东西跟个人开发没多大关系。但如果你在做 .NET 相关的项目、维护一些老系统或者单纯想学 T-SQL 这套语法体系本地装一个 SQL Server 2022 Express 其实是最省事的选择。Express 版本是微软官方提供的免费版本不需要任何授权费用功能上虽然有一些限制但对于个人开发、学习、小型项目来说完全够用。SQL Server 2022 Express 相比之前的版本在几个地方做了明显改进。它支持了更完整的 T-SQL 语法子集内存优化表、JSON 支持、以及和 Azure 生态的对接能力都有提升。对于本地开发来说最直观的感受就是安装包更小、安装过程更顺、默认配置更合理。它的数据库大小上限是 10GB内存使用上限是 1410MBCPU 最多用 4 核这些限制对于本地调试和中小型应用来说基本不会碰到天花板。这篇文章面向的是在 Windows 10 上第一次装 SQL Server 2022 Express 的开发者或者之前装过旧版本、想升级到 2022 的人。我会从下载、安装、配置、验证到常见问题排查把整个流程拆开讲清楚。中间会穿插一些我实际踩过的坑比如实例名怎么选、混合认证模式怎么配、端口冲突怎么处理这些细节在官方文档里往往一笔带过但实际操作时很容易卡住。提示SQL Server 2022 Express 只支持 Windows 10 1809 及以上版本建议先把系统更新到较新的补丁级别避免安装程序在检查环境时直接报错退出。2. 安装前的环境准备与版本选择2.1 确认系统版本和硬件条件在动手下载之前先花两分钟确认一下自己的机器是否满足最低要求。SQL Server 2022 Express 对硬件的要求其实不高但有几个硬性条件必须满足否则安装程序会在预检查阶段直接拦下来。项目最低要求建议配置操作系统Windows 10 1809 及以上Windows 10 22H2内存2GB8GB 及以上硬盘空间6GB 可用空间20GB 以上 SSD处理器1.4GHz x642GHz 四核及以上.NET Framework4.6.2 及以上系统自带更新到最新查看系统版本的方法很简单按Win R输入winver回车弹出的窗口会显示当前 Windows 10 的版本号和内部版本号。如果版本低于 1809需要先通过系统更新升级。硬盘空间方面安装程序本身加上后续的数据库文件、日志文件建议至少预留 20GB尤其是你打算建几个测试库的话。内存这块要特别说一下。Express 版本虽然限制最多用 1410MB 的缓冲池但安装过程中安装程序本身会占用不少内存如果机器只有 2GB 内存安装过程会非常卡甚至中途失败。我建议至少 8GB这样安装完还能流畅跑 SQL Server Management StudioSSMS。2.2 下载正确的安装包SQL Server 2022 Express 的下载渠道只有一个官方来源就是微软的下载中心。搜索SQL Server 2022 Express就能找到页面会提供两个主要文件一个是SQL2022-SSEI-Expr.exe这是在线安装引导程序另一个是SQL2022-SSEI-Expr.exe对应的离线介质下载选项。我个人的建议是直接下载离线安装包也就是通过引导程序选择下载介质选项把完整的安装文件下载到本地。原因很简单在线安装过程中如果网络波动安装程序会卡在某个组件下载上而且不容易重试。离线包虽然大一点大概 300MB 左右但安装过程稳定得多装完之后安装文件还可以留着以后重装或者给别的机器装都能用。下载页面还会问你要不要装 SSMS也就是 SQL Server Management Studio。这个东西是独立于数据库引擎的安装包不包含在 Express 里需要单独下载。SSMS 是图形化管理工具对于日常开发来说基本是必备的建议一起下载好。注意不要从任何第三方站点下载 SQL Server 安装包网上有些所谓的精简版绿色版往往捆绑了多余组件甚至修改了默认配置后续排查问题会非常麻烦。2.3 关闭可能干扰安装的程序安装之前有几个东西最好先处理一下。首先是杀毒软件的实时防护某些安全软件会拦截安装程序对注册表和系统目录的写入操作导致安装到一半失败。可以临时关闭实时防护装完再打开。其次是 Windows 自带的防火墙安装过程中会提示是否允许 SQL Server 通过防火墙这个后面配置阶段再处理安装时可以先不管。另外如果你之前装过其他版本的 SQL Server比如 2016、2017、2019建议先确认一下现有实例的情况。SQL Server 支持多实例共存但实例名不能重复。如果之前装过默认实例MSSQLSERVER新装的 2022 Express 就需要用命名实例比如SQLEXPRESS2022。这个在安装过程中会让你指定提前想好名字可以避免中途卡壳。3. 安装过程逐步拆解3.1 启动安装程序与功能选择双击下载好的SQL2022-SSEI-Expr.exe如果选的是离线介质会先解压到一个临时目录然后自动启动安装中心。安装中心界面有几个选项基本、自定义、下载介质。选基本会走最简流程默认装一个命名实例SQLEXPRESS认证模式是 Windows 认证。选自定义可以指定实例名、认证模式、排序规则、数据目录等。我一般推荐选自定义因为默认的 Windows 认证模式在本地开发时不太方便很多工具连接时需要 SQL Server 认证的账号密码。自定义安装可以在配置阶段直接开启混合认证模式省得装完再去改。进入自定义安装后第一步是产品密钥。Express 版本不需要密钥直接点下一步就行。然后是许可条款勾选接受。接下来会有一个Microsoft 更新的选项建议勾上使用 Microsoft 更新检查 SQL Server 更新这样安装程序会顺便把最新的补丁打上省得装完再单独更新。功能选择页面会列出所有可安装的组件。对于 Express 版本默认勾选的已经够用了主要包括数据库引擎服务、SQL Server 复制、全文和语义提取搜索、客户端工具连接、客户端工具向后兼容性、客户端工具 SDK。如果你不需要全文搜索可以把全文和语义提取搜索取消掉能省一点安装时间和磁盘空间。其他组件建议保留默认。3.2 实例配置与认证模式选择实例配置是安装过程中最关键的一步。这里有两个选择默认实例和命名实例。默认实例的实例名就是MSSQLSERVER连接时直接用机器名或者localhost就行。命名实例则需要用机器名\实例名或者localhost\实例名来连接。如果你的机器上已经有一个默认实例了那 2022 Express 只能装成命名实例。如果没有任何 SQL Server 实例我建议装成命名实例比如SQLEXPRESS2022这样以后如果装其他版本不会互相干扰。命名实例的名字不要用中文也不要有空格用字母和数字组合就行。接下来是服务器配置这里要设置 SQL Server 数据库引擎服务的启动类型和账户。默认是用虚拟账户NT Service\MSSQL$实例名启动类型是自动。这个默认配置在大多数情况下没问题不需要改。如果你有特殊的安全要求可以指定一个域账户但本地开发一般用不上。数据库引擎配置页面是重头戏这里要选认证模式。有两个选项Windows 认证模式和混合模式。Windows 认证模式只能用当前 Windows 账户登录混合模式则同时支持 Windows 认证和 SQL Server 认证。强烈建议选混合模式然后设置一个sa账户的密码。sa是 SQL Server 的系统管理员账户权限最高。密码要符合复杂度要求至少 8 位包含大写字母、小写字母、数字和符号中的至少三类。我一般会设一个自己好记但符合要求的密码比如Dev2022Sql这种。设完之后一定要记住后面连接数据库时要用。提示混合模式下sa账户默认是启用的。如果安全要求高可以在装完之后把sa禁用改用其他受限账户。但本地开发为了方便一般保持启用状态。3.3 数据目录与排序规则设置数据目录页面会让你指定几个路径数据根目录、用户数据库目录、用户数据库日志目录、备份目录。默认都在 C 盘如果 C 盘空间紧张可以改到其他盘。我一般会把数据目录放到 D 盘或者专门的开发盘这样系统盘重装或者还原时数据库文件不会丢。排序规则Collation决定了字符串比较和排序的规则。默认是SQL_Latin1_General_CP1_CI_AS其中CI表示不区分大小写AS表示区分重音。对于中文环境如果数据库里会存中文建议选Chinese_PRC_CI_AS或者Chinese_PRC_90_CI_AS。不过排序规则在实例级别设定后单个数据库还可以单独指定所以这里用默认的也行建库时再改。安装程序还会问你要不要开启FILESTREAM和文件表功能。这两个功能用于把文件直接存到数据库里普通开发用不上保持默认关闭就行。最后是安装规则检查安装程序会检查一遍系统环境如果有不满足的项会列出来。常见的问题包括待重启的挂起操作、性能计数器损坏、防火墙规则冲突。如果看到待重启的提示重启一下机器再装。确认所有配置后点安装安装程序会开始复制文件、配置服务、初始化数据库。这个过程大概需要 10 到 20 分钟取决于机器性能。安装完成后会显示一个摘要页面列出所有成功安装的组件和实例信息。4. 安装后的验证与基础配置4.1 用 SSMS 连接并验证实例安装完成后第一件事是打开 SSMS 验证能不能连上。SSMS 如果还没装需要单独下载安装。打开 SSMS 后在连接对话框里输入服务器名称。如果是命名实例格式是localhost\SQLEXPRESS2022或者.\SQLEXPRESS2022。认证方式选SQL Server 认证登录名sa密码是安装时设的那个。连上之后在对象资源管理器里应该能看到数据库引擎的版本信息。右键点击服务器节点选属性在常规页可以看到版本号是 16.0.x对应 SQL Server 2022。在高级页可以看到一些实例级别的配置比如排序规则、是否区分大小写等。验证实例是否正常运行的另一个方法是看 Windows 服务。按Win R输入services.msc找到SQL Server (SQLEXPRESS2022)这个服务状态应该是正在运行启动类型是自动。如果服务没起来可以手动启动然后看事件查看器里的错误日志。4.2 配置防火墙和远程连接默认情况下SQL Server Express 安装后只允许本地连接远程连接是关闭的。如果你需要从其他机器或者虚拟机里连过来需要做两件事开启 TCP/IP 协议以及在防火墙里放行端口。开启 TCP/IP 的方法是打开SQL Server 配置管理器在SQL Server 网络配置下找到对应实例的协议把 TCP/IP 的状态改成已启用。然后双击 TCP/IP在IP 地址标签页里找到IPAll部分把TCP 端口设成 1433默认实例或者自定义端口命名实例。命名实例默认使用动态端口建议改成固定端口方便防火墙配置。防火墙方面在高级安全 Windows Defender 防火墙里新建入站规则放行 TCP 1433 端口或者你自定义的端口。如果只是本地开发其实不需要开远程连接保持默认的本地连接就行更安全。注意如果改了端口或者开启了 TCP/IP需要重启 SQL Server 服务才能生效。重启服务可以在配置管理器里右键实例选重新启动或者在 services.msc 里重启。4.3 创建开发用的数据库和登录账户用sa账户日常开发不太合适权限太大容易误操作。建议创建一个专用的开发账户只给必要的权限。在 SSMS 里新建查询执行以下 T-SQL-- 创建一个开发用的登录账户 CREATE LOGIN devuser WITH PASSWORD Dev2022Local; -- 创建一个测试数据库 CREATE DATABASE DevTestDB; -- 在测试数据库中创建对应的用户 USE DevTestDB; CREATE USER devuser FOR LOGIN devuser; -- 给开发账户授予数据库的读写权限 ALTER ROLE db_datareader ADD MEMBER devuser; ALTER ROLE db_datawriter ADD MEMBER devuser;这样devuser就能对DevTestDB进行读写操作但不能修改数据库结构或者访问其他数据库。如果开发过程中需要建表、改表可以再授予db_ddladmin角色。这种按需授权的做法比直接用sa安全得多。创建完之后用devuser登录测试一下确认能连上并且能对DevTestDB做增删改查。如果连接失败检查一下登录账户的状态页确认登录是启用的并且是否允许连接到数据库引擎选的是授予。5. 常见问题与排查技巧实录5.1 安装失败与错误代码速查安装 SQL Server 的过程中最常见的失败原因就那么几类。我把实际遇到过的和网上反馈比较多的问题整理成了一张表方便对照排查。错误现象可能原因解决方法安装程序卡在正在检查安装规则系统有待重启的挂起操作重启机器后重新安装报错性能计数器注册表项损坏性能计数器损坏以管理员身份运行lodctr /R重建计数器报错无法安装到指定目录目录权限不足或路径含中文换到纯英文路径确保有写权限安装到一半回滚杀毒软件拦截临时关闭实时防护后重装服务启动失败错误 1069服务账户密码错误或权限不足在服务属性里重新设置登录账户连接时报错 18456登录失败认证模式不对确认实例已启用混合认证sa已启用其中性能计数器损坏这个坑我踩过两次。现象是安装程序在规则检查阶段直接报错提示性能计数器注册表项损坏。解决方法是打开管理员权限的命令提示符先执行lodctr /R重建计数器如果不行再执行winmgmt /verifyrepository检查 WMI 仓库有问题的话用winmgmt /salvagerepository修复。5.2 连接失败与认证问题排查装完之后连不上是另一个高频问题。错误信息通常是无法连接到服务器或者登录失败。排查思路可以按这个顺序来先确认服务是否在运行。打开 services.msc看SQL Server (实例名)和SQL Server Browser这两个服务的状态。SQL Server Browser服务对于命名实例的连接很重要它负责把实例名解析成端口号。如果这个服务没启动用机器名\实例名连接会失败。再确认认证模式。如果安装时选了 Windows 认证那用sa登录肯定失败。需要以 Windows 认证方式连进去在服务器属性里把认证模式改成混合模式然后重启服务。改完之后还要确认sa账户是启用的在安全性-登录名里找到sa右键属性确认登录状态是启用。如果报错是管道的另一端上无任何进程通常是 TCP/IP 协议没启用或者端口不对。在配置管理器里检查 TCP/IP 状态以及 IPAll 的端口设置。命名实例如果用的是动态端口每次服务重启端口可能变建议改成固定端口。5.3 性能与资源限制的应对Express 版本有几个硬性限制开发时可能会碰到。数据库最大 10GB这个一般够用但如果你的测试数据特别大可能需要定期清理或者用多个数据库分开存。内存缓冲池最大 1410MB如果同时跑多个大型查询可能会感觉慢。CPU 最多 4 核对于本地开发来说基本不是瓶颈。如果碰到数据库大小接近 10GB可以先查一下哪个表占的空间最大USE DevTestDB; SELECT t.NAME AS TableName, p.rows AS RowCounts, SUM(a.total_pages) * 8 AS TotalSpaceKB FROM sys.tables t INNER JOIN sys.indexes i ON t.OBJECT_ID i.object_id INNER JOIN sys.partitions p ON i.object_id p.OBJECT_ID AND i.index_id p.index_id INNER JOIN sys.allocation_units a ON p.partition_id a.container_id GROUP BY t.Name, p.Rows ORDER BY TotalSpaceKB DESC;查出来之后对占用大的表做归档或者清理。另外Express 版本不支持 SQL Server Agent所以不能设定时任务。如果需要定时跑一些脚本可以用 Windows 任务计划程序调用sqlcmd来实现。提示Express 版本虽然限制多但对于本地开发和测试来说这些限制很少真正成为瓶颈。如果项目真的需要更大规模可以考虑升级到 Developer 版本功能完整且同样免费只是不能用于生产环境。5.4 卸载与重装的注意事项有时候装出问题了需要重装这时候卸载是否干净很关键。直接在控制面板里卸载 SQL Server 2022 Express有时候会残留一些注册表项和文件目录导致重新安装时提示实例已存在。彻底卸载的步骤是先在控制面板卸载所有 SQL Server 2022 相关的组件然后手动删除残留目录包括C:\Program Files\Microsoft SQL Server、C:\Program Files (x86)\Microsoft SQL Server、以及数据目录。注册表方面删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server下对应的实例键。最后重启机器再重新安装。如果只是想让实例换个名字或者改配置不一定要完全卸载。可以用安装中心的维护-版本升级或者修复功能也可以在原实例基础上装一个新实例两个实例共存。6. 我个人的实操体会与几个小建议装 SQL Server 这件事说难不难但细节特别多一步没注意就可能卡住。我自己的习惯是装之前先把安装包和 SSMS 都下载好放在一个固定的目录里然后关掉杀毒软件重启一次机器确保没有挂起的更新。安装时选自定义实例名用SQLEXPRESS2022认证模式选混合数据目录改到 D 盘。这套流程走下来基本没再出过问题。另外一个小技巧是装完之后立刻用 SSMS 连一次建一个测试库跑一条SELECT VERSION确认版本。然后把连接信息记在一个文本文件里包括实例名、端口、sa密码、开发账户密码。过几个月再回来用的时候这些信息很容易忘。最后再分享一个排查思路SQL Server 的问题十有八九能在错误日志里找到线索。错误日志的位置在C:\Program Files\Microsoft SQL Server\MSSQL16.SQLEXPRESS2022\MSSQL\Log\ERRORLOG用文本编辑器打开就能看。安装失败时安装程序的日志在C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log下里面会详细记录每一步的执行结果和报错信息。学会看日志比在网上到处搜错误代码快得多。
返回列表