在腾讯云 CVM(云服务器)上安装 SQL Server,其实核心逻辑和你在本地 Windows 物理机上安装没什么区别。因为腾讯云 CVM 本质上就是一台远程的 Windows 虚拟机,所以并没有所谓的“一键云端部署”专用按钮(除非你直接购买云市场镜像)。
通常有两种主流方式:
- 使用云市场镜像:适合新手或追求极速交付,镜像里已经装好了系统、SQL Server 甚至一些基础配置。
- 手动安装(推荐):适合需要自定义路径、版本、实例名,或者对安全性、性能调优有要求的场景。这也是大多数运维和开发人员的标准做法。
下面我以手动安装 SQL Server 2019/2022 为例,梳理一下完整流程。注意,这里默认你使用的是 Windows Server 2016/2019/2022 版本的 CVM。如果是 Linux 版 CVM,那是通过 Docker 或包管理器安装 SQL Server on Linux,逻辑完全不同,后面会提一句。
一、前期准备(别跳过这一步)
-
确认操作系统版本
- 登录腾讯云控制台 -> 云服务器 -> 实例列表 -> 点击你的实例 ID。
- 查看“基本信息”中的操作系统。必须是 Windows Server。
- 建议至少 4GB 内存(SQL Server 本身吃内存很凶),CPU 至少 2 核。如果预算允许,直接上 8GB+ 内存,体验好很多。
-
安全组配置(关键!)
- SQL Server 默认监听 TCP 1433 端口。
- 进入腾讯云控制台 -> 安全组 -> 找到关联该实例的安全组。
- 添加入方向规则:协议 TCP,端口 1433,来源
0.0.0.0/0(或指定你的 IP 段,生产环境强烈建议只开放特定 IP)。 - ⚠️ 警告:不要直接暴露 1433 到公网!这是黑客扫描的重灾区。建议通过 RDP(3389)内网连接,或者使用跳板机/堡垒机管理。
-
下载 SQL Server 安装包
- 访问微软官网下载 SQL Server Evaluation 页面。
- 选择你要的版本(如 SQL Server 2019 Developer Edition 用于测试,Enterprise/Standard 用于生产)。
- 下载 ISO 文件或 exe 安装程序。注意:国内网络下载微软官方包可能较慢,建议提前下载到本地,再通过 FTP/SFTP 上传到 CVM,或使用腾讯云 COS 中转。
二、手动安装步骤(以 Windows Server 2022 + SQL Server 2019 为例)
第 1 步:连接服务器 & 安装前置依赖
- 使用 Remote Desktop Connection (mstsc) 连接你的 CVM。
- 确保 .NET Framework 已启用(Windows Server 默认可能未完全启用)。
- 打开“服务器管理器” -> “管理” -> “添加角色和功能” -> 确认 .NET Framework 3.5/4.8 已安装。
- 重启服务器(可选,但推荐,确保系统干净)。
第 2 步:挂载 ISO 并运行安装程序
- 将下载的
.iso文件复制到 CVM 的某个目录(如D:SQLInstall)。 - 右键点击 ISO 文件 -> “装载”。它会在“此电脑”中显示为一个虚拟光驱。
- 双击
setup.exe启动安装向导。
第 3 步:安装类型选择
- 选择 “全新 SQL Server 独立安装”(不是升级)。
- 接受许可条款。
第 4 步:功能选择
- 默认勾选“数据库引擎服务”、“Management Tools – Complete”(包含 SSMS 和 PowerShell 模块)。
- 如果你只需要数据库引擎,可以取消 Management Tools,节省空间。
第 5 步:实例配置
- 实例名称:建议使用默认实例(MSSQLSERVER),或者自定义名称(如 SQLEXPRESS, MYINSTANCE)。
- ⚠️ 注意:实例名一旦确定,后续客户端连接字符串中的
(local)InstanceName部分就要对应修改。
- ⚠️ 注意:实例名一旦确定,后续客户端连接字符串中的
- 磁盘空间:确保 CVM 有足够的磁盘剩余空间(SQL Server 安装后约占用 1-2GB,加上数据文件会更大)。
第 6 步:服务器组件角色分配
- 保持默认勾选即可。
第 7 步:实例根目录设置(重要!)
- 数据文件夹:默认在
C:Program FilesMicrosoft SQL ServerMSSQL15.MSSQLSERVERMSSQLDATA - 建议修改:如果你的 CVM 有额外的数据盘(比如 D 盘),强烈建议将数据文件路径指向 D 盘,避免系统盘爆满导致服务崩溃。
- 例如:
D:SQLDataData - 日志文件路径同理:
D:SQLDataLog
- 例如:
第 8 步:数据库引擎配置
- 身份验证模式:选择 “混合模式”(SQL Server 身份验证和 Windows 身份验证)。
- ✅ 必须勾选!否则外部工具(如 Navicat、DBeaver)无法用账号密码连接。
- 设置 SA 密码:输入一个强密码(大小写字母+数字+符号,长度≥8位)。这是最高权限账户,务必保管好。
- 添加当前用户:点击“添加当前用户”,方便你自己用 Windows 账户登录管理。
第 9 步:全文搜索配置
- 保持默认即可。
第 10 步:错误报告和遥测
- 根据企业合规要求选择是否发送错误报告。一般选“否”或“基本”。
第 11 步:安装进度
- 等待安装完成,大约需要 10-30 分钟,取决于服务器性能和磁盘 I/O。
- 成功后会显示“安装成功”。
三、安装后配置(极易被忽略的关键点)
1. 配置防火墙(除了安全组,还要配 Windows 防火墙)
- 即使你在腾讯云安全组开了 1433,Windows 内部防火墙也可能拦截。
- 打开“高级安全 Windows 防火墙” -> 入站规则 -> 新建规则 -> 端口 -> TCP 1433 -> 允许连接 -> 应用所有配置文件 -> 命名为“SQL Server Port”。
- 或者更简单的方式:在安装过程中如果选择了“混合模式”,安装程序通常会自动配置 Windows 防火墙规则。但建议手动检查一遍。
2. 启用 SQL Server Browser 服务(如果使用命名实例)
- 如果你用的是非默认实例(如
MYINSTANCE),必须启动 SQL Server Browser 服务。 - 打开“服务” (
services.msc) -> 找到SQL Server Browser-> 启动类型改为“自动” -> 启动服务。 - 这个服务监听 UDP 1434 端口,帮助客户端定位实例。
3. 配置远程连接权限
- 打开 SQL Server Management Studio (SSMS)。
- 连接到实例(通常填
.或(local))。 - 右键实例名 -> “属性” -> “连接” -> 勾选“允许远程连接到此服务器”。
- 或者执行 T-SQL:
EXEC sp_configure 'remote access', 1; RECONFIGURE;
4. 创建登录名和用户(最佳实践)
- 不要直接用 SA 账户做业务连接!
- 在 SSMS 中展开“安全性” -> “登录名” -> 新建登录名。
- 设置用户名、密码,映射到对应的数据库,并赋予必要权限。
四、常见问题与避坑指南
-
为什么连不上?提示“超时”或“网络相关”
- 90% 是防火墙问题。检查腾讯云安全组 + Windows 防火墙。
- 检查 SQL Server 配置管理器 -> SQL Server 网络配置 -> 确保 TCP/IP 协议已启用。
- 如果启用了 TCP/IP,右键属性 -> IP 地址标签页 -> 确保 IPAll 中的 TCP 端口是 1433。
-
内存不足导致启动失败
- SQL Server 默认会尝试占用大量内存。可以在 SSMS 中右键实例 -> 属性 -> 内存 -> 限制最大服务器内存(例如设为 2048MB 或更少,根据你的 CVM 总内存调整)。
-
License 过期
- 如果你用的是 Evaluation 版,试用期只有 180 天。到期后数据库会进入“只读”状态,无法写入。
- 生产环境请使用正式版授权密钥激活。
-
Linux CVM 怎么办?
- 如果你买的是 Ubuntu/CentOS 等 Linux 系统,不能直接跑 MSI 安装包。
- 方法 A:使用 Docker 运行 Microsoft 官方镜像(最简单):
docker run --name sql1 -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong@Passw0rd" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest - 方法 B:按照微软官方文档安装 SQL Server on Linux(需配置 YUM/Apt 源,较复杂,不推荐新手)。
五、总结建议
- 测试/开发环境:直接用云市场镜像,省时省力。
- 生产环境:手动安装 + 数据盘分离 + 最小权限原则 + 定期备份。
- 高可用需求:单台 CVM 扛不住。考虑使用腾讯云 SQL Server 高可用版(基于 AlwaysOn 架构)或直接迁移到 TDSQL(腾讯自研分布式数据库)或 Azure SQL / AWS RDS 等托管服务,让厂商帮你处理补丁、备份、故障转移。
最后提醒:数据安全无小事。安装完成后,立即修改默认端口(可选)、禁用不必要的协议、开启审计日志,并配置自动备份策略。
云技术博客