Windows平台SQL Server 2019部署与核心配置实战

张开发
2026/5/21 21:01:23 15 分钟阅读
Windows平台SQL Server 2019部署与核心配置实战
1. 环境准备与安装包获取第一次在Windows上装SQL Server 2019时我对着官网下载页面足足研究了半小时——版本选择、系统要求、功能组件这些门道官方文档写得像天书。后来帮团队部署了二十多套环境后才摸清楚这些隐藏知识点。Developer版本是最适合本地开发的免费选择但要注意它不能用于生产环境。如果是在公司内网使用建议选择Express版本虽然功能有限制但允许商用。下载前务必检查系统是否符合这些硬指标Windows 10 1607以上或Windows Server 2016至少4GB内存实测8GB才能流畅运行SSMS50GB以上的SSD剩余空间别小看日志文件膨胀速度下载时有个坑微软官网会默认跳转到最新版下载页。建议手动选择2019版本直接访问SQL Server 2019下载页。我习惯把ISO镜像和SSMS安装包放在D:\SQL_Install这样的路径避免C盘空间被临时文件占满。2. 安装流程详解2.1 安装向导关键决策点双击setup.exe后新手最容易栽在三个地方功能选择就像点火锅配菜——数据库引擎服务是必选的肥牛机器学习服务是进阶的毛肚。我建议勾选这些核心项数据库引擎服务核心必选SQL Server复制数据同步用客户端工具连接远程访问必备实例配置时遇到过最坑的情况是已有默认实例。这时要么卸载旧实例要么新建命名实例比如叫DEV_INSTANCE。曾经有同事没注意这点导致服务端口冲突排查了半天连接问题。身份验证模式的选择直接影响后续使用Windows身份验证适合单机开发用本机账号登录混合模式必须设置sa密码这是后续远程连接的钥匙这里有个血泪教训sa密码必须包含大小写字母数字特殊字符有次用了简单密码被运维安全扫描揪出来要求重装。2.2 安装后验证安装完成别急着关窗口先检查两个地方日志文件里有没有黄色警告通常位于C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log服务列表里SQL Server (MSSQLSERVER)是否正在运行可以用这个PowerShell命令快速测试Get-Service -Name MSSQLSERVER | Select-Object Status, StartType正常应该显示Running和Automatic。3. SSMS安装与连接配置3.1 管理工具的选择SQL Server Management Studio 18.x是经典选择但2022年后微软主推Azure Data Studio。我两个都装前者适合传统管理后者写T-SQL更流畅。安装时要注意右键用管理员身份运行安装包自定义安装路径到非系统盘安装完成后立即打补丁工具菜单里检查更新3.2 首次连接避坑指南打开SSMS时连接对话框有五个隐藏技巧服务器名称输入.代表本机默认实例使用混合模式登录时身份验证选SQL Server身份验证勾选记住密码会以明文保存公用电脑慎用连接超时可以改为60秒选项连接属性高级设置里可以指定默认数据库遇到连接失败时先ping服务器IP再telnet 1433端口。有次客户防火墙拦截了端口就是靠这招快速定位的。4. 网络与安全配置实战4.1 TCP/IP协议启用SQL Server默认只用共享内存通信要远程连接必须开启TCP/IP。在SQL Server配置管理器里展开SQL Server网络配置选择对应实例的协议右键启用TCP/IP有个冷知识启用后要重启SQL Server服务才会生效但配置管理器里没有重启按钮。我习惯用命令搞定net stop MSSQLSERVER net start MSSQLSERVER4.2 端口与防火墙设置1433是默认端口但容易被扫描攻击。我通常改成50000以上的随机端口比如54321。修改步骤在TCP/IP属性里找到IPAll节点清除TCP动态端口一定要清空在TCP端口填写新端口号Windows防火墙要同步放行New-NetFirewallRule -DisplayName SQL Server -Direction Inbound -Protocol TCP -LocalPort 54321 -Action Allow5. 性能调优入门设置5.1 内存限制配置默认SQL Server会贪婪地占用所有内存在8GB内存的开发机上需要限制EXEC sp_configure show advanced options, 1; RECONFIGURE; EXEC sp_configure max server memory, 4096; -- 单位MB RECONFIGURE;5.2 数据库文件布局新建数据库时千万别用默认设置我推荐这样的文件结构数据文件放D:\SQL_Data日志文件放E:\SQL_LogTempDB单独放在SSD上创建数据库的脚本示例CREATE DATABASE MyDB ON PRIMARY (NAME MyDB_Data, FILENAME D:\SQL_Data\MyDB.mdf) LOG ON (NAME MyDB_Log, FILENAME E:\SQL_Log\MyDB.ldf);6. 日常维护技巧6.1 备份策略开发环境也要做备份我用的自动化脚本USE master; GO BACKUP DATABASE MyDB TO DISK F:\Backup\MyDB_Full.bak WITH COMPRESSION, STATS 10; GO设置定时任务每周执行保留最近3个备份。遇到过硬盘故障的开发同事都是靠这种基础备份救命的。6.2 监控关键指标这几个DMV查询能快速诊断问题-- 查看阻塞进程 SELECT * FROM sys.dm_os_waiting_tasks WHERE blocking_session_id 0; -- 检查内存压力 SELECT * FROM sys.dm_os_performance_counters WHERE counter_name IN (Page life expectancy,Buffer cache hit ratio);把这些查询保存成快捷方式排查问题时能节省大量时间。有次性能问题就是靠Page life expectancy指标发现内存不足的。

更多文章