服务器上安装与连接 SQL Server 的完整教程
在服务器上部署 SQL Server,核心就三件事:确认系统版本满足最低要求、用官方源或安装包完成安装、放行 1433 端口并验证远程能连上。
下面按 Windows Server 和 Linux 两种常见环境分别说明,你可以只看自己对应的那一节。
先确认环境和版本
SQL Server 对操作系统有明确要求,装之前先核对,能省掉很多返工。
- Windows 环境:建议 Windows Server 2016 及以上,内存至少 2GB(生产环境建议 4GB 起),磁盘预留 6GB 以上空间。
- Linux 环境:主流支持 Ubuntu、RHEL、SUSE 等发行版,具体版本号请以微软官方文档的"Linux 上的 SQL Server 安装指南"为准,因为支持列表会随版本更新。
- 无论哪种环境,都要先确认服务器能正常联网或已挂载本地安装介质。
建议先做一次快照或系统备份,尤其是生产服务器,安装过程涉及系统服务注册和端口监听,出问题时回滚成本很高。
Windows Server 上安装 SQL Server
Windows 下最简单的方式是下载官方安装程序,图形界面一步步走完。
- 从微软官网下载 SQL Server 安装程序(Developer 版可免费用于学习和开发,具体授权范围以官方说明为准)。
- 双击运行,选择"基本"或"自定义"安装。新手推荐先选"基本",它会自动带上默认实例和 SQL Server Management Studio 的下载入口。
- 在"实例配置"页保持默认实例即可;如果服务器上要跑多个版本,再考虑命名实例。
- 在"数据库引擎配置"页选择混合模式,设置 sa 密码,并添加当前管理员为 SQL Server 管理员。
- 等待安装完成后,打开"SQL Server 配置管理器",确认 SQL Server 服务处于"正在运行"状态。
安装完成后先用本机连接测试:打开 SSMS,服务器名称填 localhost 或 127.0.0.1,用刚才设置的 sa 账号登录。
能进得去说明本地安装没问题。
Linux 上安装 SQL Server
以 Ubuntu 为例,微软提供了官方 APT 源,命令如下(具体包名和路径请对照官方文档,不同版本略有差异):
# 导入微软 GPG 公钥
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
# 添加 SQL Server 源(Ubuntu 版本号按你的系统替换)
sudo add-apt-repository "$(curl -sSL https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
# 安装并初始化
sudo apt-get update
sudo apt-get install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
mssql-conf setup 会交互式让你选择版本(Evaluation、Developer、Express 等)并设置 sa 密码。
密码要求至少 8 位,包含大小写字母、数字和符号中的三类。
初始化完成后检查服务状态:
systemctl status mssql-server
看到 active (running) 就说明服务已起来。
如果失败,用 journalctl -u mssql-server -n 50 看最近日志定位原因。
放行端口并验证远程连接
SQL Server 默认监听 TCP 1433 端口,但很多系统装完后并不会自动对外放行。
Windows 下:打开"高级安全 Windows Defender 防火墙",新建入站规则,放行 TCP 1433;
如果改了默认端口,就放行你实际用的端口。
Linux 下用 ufw 或 firewalld,例如 Ubuntu:
sudo ufw allow 1433/tcp
sudo ufw reload
云服务器还要在控制台的安全组里放行 1433,这一步最容易被漏掉——系统防火墙开了、安全组没开,外部照样连不上。
放行之后,从另一台机器测试连通性:
telnet 你的服务器IP 1433
如果显示 Connected,说明网络层通了。
接着用 SSMS 或 sqlcmd 连接:
sqlcmd -S 服务器IP,1433 -U sa -P 你的密码
能进入 1> 提示符就代表远程连接成功。
常见报错怎么排查
连接超时:先 telnet 测端口,不通就检查三层——系统防火墙、云安全组、SQL Server 是否在监听 1433。
Linux 下用 ss -tlnp | grep 1433 看监听状态。
登录失败,错误 18456:多半是账号密码不对,或者只开了 Windows 身份验证没开混合模式。
Linux 下可查看 /var/opt/mssql/log/errorlog 确认具体原因。
远程能 ping 通但连不上:SQL Server 可能只绑定了本地回环地址。
检查配置里是否允许 TCP/IP 远程连接,Windows 下在配置管理器里启用 TCP/IP 协议并重启服务。
服务起不来:先看日志。
Windows 看"事件查看器",Linux 用 journalctl -u mssql-server。
常见原因是内存不足或 sa 密码不符合复杂度要求。
装完之后建议做的几件事
- 改掉 sa 默认密码策略,或直接禁用 sa、改用专用账号,降低被爆破风险。
- 如果服务器直接暴露公网,尽量限制 1433 只对特定 IP 开放,不要全放行。
- 定期备份数据库,SQL Server 自带维护计划可以配置自动备份。
- 生产环境建议单独挂数据盘,避免系统盘写满导致数据库异常。
整个流程走下来,本地安装、服务启动、端口放行、远程验证这四步都通过,基本就说明服务器 SQL Server 已经可用。
遇到连不上的情况,按"端口通不通 → 服务在不在 → 账号对不对"的顺序排查,绝大多数问题都能定位。