在阿里云ECS(Elastic Compute Service)上自建 SQL Server 是一种常见的部署方式,尤其适用于需要灵活控制数据库环境、合规要求或特定版本需求的场景。以下是详细的步骤和注意事项,帮助你在阿里云ECS上成功部署和管理自建的 SQL Server。
一、准备工作
1. 选择合适的ECS实例
- 操作系统:推荐使用 Windows Server(如 Windows Server 2019/2022),因为 SQL Server 主要运行在 Windows 上(Linux 版本功能有限)。
- 实例规格:
- 根据数据库负载选择合适的 CPU、内存(如 4核8G 起步,高负载建议 8核16G 以上)。
- 推荐使用 通用型(g系列)或计算型(c系列) 实例。
- 磁盘:
- 系统盘:建议 100GB 以上(SSD云盘)。
- 数据盘:单独挂载高性能 SSD云盘 或 ESSD云盘,用于存放数据库文件(.mdf, .ldf),提高I/O性能。
- 网络:
- 配置安全组,开放 SQL Server 端口(默认 1433)。
- 建议使用 专有网络 VPC 提高安全性。
二、安装 SQL Server
1. 远程登录 ECS
- 使用 远程桌面(RDP) 登录 Windows Server 实例。
2. 下载 SQL Server 安装包
- 可从微软官网下载:
- https://www.microsoft.com/en-us/sql-server/sql-server-downloads
- 推荐版本:
- SQL Server 2019 或 2022(标准版或企业版)
- 开发版(免费,适合测试/开发)
3. 安装 SQL Server
- 运行安装程序,选择 “全新 SQL Server 独立安装”
- 设置实例(默认实例或命名实例)
- 功能选择:数据库引擎服务、管理工具等
- 实例配置:
- 服务账户:建议使用内置账户(如 NT AUTHORITYSYSTEM)
- 排名规则:启用 TCP/IP 协议
- 身份验证模式:
- 混合模式(Mixed Mode):可同时使用 Windows 身份验证和 SQL Server 身份验证
- 设置
sa用户密码(务必强密码!)
- 完成安装
三、配置与优化
1. 启用远程连接
- 打开 SQL Server 配置管理器
- 启用 TCP/IP 协议
- 设置 TCP 端口为 1433(或其他自定义端口)
- 重启 SQL Server 服务
2. 防火墙设置
- 在 Windows 防火墙中允许 SQL Server (TCP-In) 规则
- 或手动开放端口 1433
3. 阿里云安全组配置
- 登录 阿里云控制台 → ECS → 安全组
- 添加入方向规则:
- 协议类型:TCP
- 端口范围:1433
- 授权对象:你的IP或指定IP段(建议不要开放 0.0.0.0/0)
四、连接与使用
1. 使用客户端连接
- 工具:SSMS(SQL Server Management Studio)、Navicat、DBeaver 等
- 连接信息:
- 服务器名称:
<ECS公网IP>,1433 - 身份验证:SQL Server 身份验证
- 用户名:
sa或其他用户 - 密码:设置的密码
- 服务器名称:
2. 域名访问(可选)
- 可绑定弹性公网IP(EIP)
- 配合阿里云 DNS 解析,使用域名连接(如
sql.yourcompany.com)
五、备份与高可用(重要!)
1. 备份策略
- 定期全量 + 差异 + 日志备份
- 备份文件存储到:
- 本地磁盘(临时)
- 阿里云 OSS(推荐,通过脚本上传)
- 快照备份(ECS磁盘快照)
2. 高可用方案(可选)
- AlwaysOn 可用性组(需企业版)
- 日志传送(Log Shipping)
- 数据库镜像(已不推荐)
六、监控与维护
- 使用 Windows 性能监视器 或 SQL Server Profiler
- 部署 Zabbix、Prometheus + Grafana 监控 CPU、内存、I/O、连接数等
- 定期更新补丁和安全更新
七、优缺点分析
| 优点 | 缺点 |
|---|---|
| 完全控制权限,可定制 | 运维成本高(备份、监控、升级) |
| 支持完整功能(如CLR、SSIS、SSRS) | 高可用配置复杂 |
| 可使用特定版本或功能 | 成本较高(Windows + SQL Server 许可) |
| 合规性要求满足 | 故障恢复依赖人工 |
八、替代方案:阿里云 RDS for SQL Server
如果你不想自己维护,可考虑使用 阿里云RDS SQL Server版:
✅ 优势:
- 自动备份、监控、高可用
- 支持只读实例、跨区域复制
- 按需付费,省去Windows和SQL Server授权成本(包在服务中)
❌ 局限:
- 权限受限(无法使用某些系统存储过程)
- 不支持某些高级功能(如分布式事务、链接服务器需申请)
总结
在阿里云ECS上自建 SQL Server 是可行且灵活的方案,适合有自主运维能力的团队。但需注意:
- 做好 安全加固(端口、密码、补丁)
- 制定 备份与灾备策略
- 考虑 成本与维护复杂度
✅ 推荐场景:企业内部系统、遗留系统迁移、特殊合规需求
✅ 替代建议:新项目可优先评估 阿里云RDS for SQL Server
如需,我可以提供:
- 自动化部署脚本(PowerShell)
- 备份上传OSS的脚本
- 安全组配置模板
欢迎继续提问!
CCLOUD博客