1. SQL Server 2019安装前的关键决策第一次安装SQL Server 2019时很多人会直接点击下一步到底结果后面发现功能不全或者配置不当。我见过太多开发者在项目中途才发现漏装了复制功能或者生产环境用了Developer版导致合规问题。这些坑其实在安装前就能避免。首先得搞清楚版本差异。SQL Server 2019主要分四个版本Developer版功能与企业版完全一致但仅限开发和测试使用Express版免费但功能受限数据库大小不能超过10GBStandard版适合中小型企业缺少高级分析功能Enterprise版全功能版本价格也最贵实测发现Developer版安装时可以直接使用产品密钥HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G微软官方默认可用。但要注意生产环境必须使用正版授权否则会有法律风险。硬件准备方面官方最低要求是6GB内存但我建议开发环境至少16GB。去年帮客户部署时他们用8GB内存跑OLTP业务高峰期频繁出现内存压力告警。后来升级到32GB才稳定这个教训说明官方最低配置只能保证能跑不代表好用。2. 组件选型的实战经验安装程序的功能选择界面有十几个复选框新手很容易懵。根据多年部署经验我总结出几个典型场景的配置方案开发测试环境推荐勾选数据库引擎服务核心必选SQL Server复制后期数据同步会用到全文检索和语义提取文本搜索必备机器学习服务和语言扩展AI项目需要客户端工具连接SSMS等管理工具生产环境还需要额外增加PolyBase查询服务大数据集成数据质量服务ETL场景Analysis ServicesBI分析有个容易忽略的点是安装路径。默认会装到C盘但数据库文件增长很快。我习惯把实例根目录改到D盘像这样D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER特别提醒如果勾选了机器学习服务安装程序会额外下载约500MB的R/Python运行时。去年在客户现场安装时他们内网下载速度只有100KB/s这个步骤花了近两小时。建议提前下载好cab文件备用。3. 身份验证模式的深度解析身份验证模式的选择直接影响后续使用体验。SQL Server提供两种模式Windows身份验证使用操作系统账户登录混合模式允许SQL账户和Windows账户双认证虽然官方推荐Windows验证但实际开发中混合模式更方便。不过这里有个大坑SQL Server对sa密码的复杂度要求极其严格。上周帮团队安装时连续5个密码都被拒绝最后用了Pssw0rd!2023才通过。如果遇到密码强度问题可以先用Windows验证安装完成后通过以下T-SQL启用混合模式USE [master] GO EXEC xp_instance_regwrite NHKEY_LOCAL_MACHINE, NSoftware\Microsoft\MSSQLServer\MSSQLServer, NLoginMode, REG_DWORD, 2 GO服务账户配置也很关键。测试环境用NT AUTHORITY\SYSTEM没问题但生产环境建议创建专用域账户。去年有个客户用Local Service账户跑作业结果无法访问网络存储后来改用域账户才解决。4. 必备组件的独立安装从SQL Server 2019开始Management StudioSSMS不再包含在主安装包中。这个变化坑了不少人包括我自己——第一次安装完发现找不到管理工具还以为安装失败了。SSMS现在需要单独下载最新版下载地址https://aka.ms/ssmsfullsetup安装SSMS时有个隐藏技巧如果只需要基础功能可以自定义安装只选SQL Server管理对象SQL Server PowerShell模块计划任务组件这样能节省约1GB空间。但做BI开发的话一定要勾选Analysis Services客户端工具。另外推荐安装Azure Data Studio这是微软新一代的跨平台管理工具对Linux支持特别好。用它连接SQL Server执行查询时响应速度比SSMS快20%左右。5. 安装后的关键检查清单安装完成只是开始还需要做以下验证① 端口检查Get-NetTCPConnection -LocalPort 1433 -State Listen如果没输出说明SQL Server没监听默认端口可能是安装时防火墙阻止了。② 内存配置EXEC sp_configure show advanced options, 1; RECONFIGURE; EXEC sp_configure max server memory (MB);默认会占用所有可用内存建议设置为物理内存的70%-80%。③ TempDB优化SELECT name, physical_name, size/128.0 AS [Size in MB] FROM sys.master_files WHERE database_id DB_ID(tempdb);生产环境应该根据CPU核心数配置多个tempdb文件我通常用8个文件每核心1个。最后提醒如果安装失败不要直接重装。先检查日志文件默认在安装目录的Setup Bootstrap\Log下常见问题如.NET Framework版本冲突、权限不足等都有明确错误码。去年处理过一个案例安装程序报错0x851A001A最后发现是杀毒软件锁定了注册表项。