本教程旨在指导您通过控制台创建RDS SQL Server实例,在实例中配置数据库和账号信息,并提供多种连接到RDS实例的方法,帮助您快速入手RDS SQL Server产品。
若您初次使用阿里云RDS,请先了解阿里云RDS使用限制。
前提条件
通过RAM用户创建RDS实例时,该RAM用户必须拥有AliyunRDSFullAccess权限和AliyunBSSOrderAccess权限。如何授权,请参见RAM资源授权。
费用说明
创建RDS SQL Server实例会产生实例规格费用与存储费用,其与实例的付费方式、系列、规格、存储类型和存储空间大小等参数相关。
1. 创建RDS SQL Server实例
选择计费方式。
说明您可以先创建按量付费实例,确认实例符合要求后将计费方式从按量付费转为包年包月。
Serverless实例一旦创建,其计费类型不支持与按量付费或包年包月类型互相转换,请谨慎选择。
计费方式
建议
优点
包年包月
长期使用RDS实例,请选择包年包月(一次性付费),并在页面左下角选择购买时长。
包年包月比按量付费更实惠,且购买时长越长,折扣越多。
按量付费
短期使用RDS实例,请选择按量付费(按小时付费)。
可随时释放实例,停止计费。
Serverless
需要定时处理任务、业务波动大、全托管或希望完全免运维的场景,请选择Serverless。更多详情,请参见Serverless实例简介和创建Serverless实例。
打破固定资源付费的模式,做到真正负载与资源动态匹配的按量付费,可节省大量成本。
说明可以在页面右下角查看价格。您需要完成后续的配置选择,才能最终确定价格。
选择要在哪个地域创建RDS实例。
重要RDS实例购买后,地域不支持更改,请慎重选择。
建议将RDS实例创建在ECS实例所在的地域。否则,ECS实例只能通过外网访问RDS实例,无法发挥最佳性能。
说明如需使ECS实例通过内网连接RDS实例,请确保RDS实例与ECS实例在同一地域和同一VPC。
如果您要通过ECS以外的设备(例如本地服务器或电脑)连接RDS实例,则选择将RDS实例创建在离该设备较近的地域即可,后续通过外网地址连接RDS。
选择数据库引擎、产品系列、存储类型。
选择数据库引擎。
本文介绍SQL Server,选择Microsoft SQL Server。 当前支持2012、2016、2017、2019、2022。
选择产品系列。
系列
说明
特点
基础系列
单节点,计算与存储分离。
不支持增加只读实例。
性价比高,用于学习或测试。
说明基础系列实例故障恢复和重启耗时较长。
高可用系列(推荐)
一主一备的高可用架构,支持自动故障切换。备节点不可访问。
不支持增加只读实例。
高可用,用于生产环境,适合80%以上的用户场景。
集群系列(推荐)
一主一备的高可用架构,支持自动故障切换。备节点可访问,提升读能力。
支持增加1~7个只读实例,实现线性扩展读能力,但只读实例不参与主节点选举和切换。
成本灵活控制。
支持备库可读功能。
说明可选的系列取决于您选择的地域和数据库类型。Serverless实例仅支持高可用系列。
选择存储类型。
配置实例网络,网络类型固定配置为专有网络。
选择VPC。
建议选择与ECS实例相同的VPC。ECS实例与RDS实例位于不同VPC时,无法内网互通。
说明VPC相同,交换机不同,ECS实例与RDS实例也可以内网互通。
选择是否将VPC网段加入白名单。
加入后,同一VPC下的ECS实例可以访问RDS实例。
说明如果您此处配置了否,您可以在实例创建成功后,手动设置白名单。
选择实例所在的可用区、交换机、网络及部署方案。
如何选择可用区
可用区是指地域中的一个独立物理区域,例如,杭州地域有可用区H、I、J等。
同一地域不同可用区没有实质性区别。
ECS访问同可用区RDS的性能比访问同地域其它可用区RDS更好,但差别较小。
如何选择交换机
交换机是组成专有网络的基础网络设备。交换机可以连接不同的云资源。在专有网络内创建云资源时,必须指定云资源所连接的交换机。
选择已有的交换机或单击创建交换机新建。参数配置说明,请参见创建和管理交换机。
如何选择部署方案
多可用区部署(推荐):主节点和备节点位于同一地域的不同可用区,具备跨可用区容灾。
如果部署方案选择多可用区部署,则需要选择实例主可用区及网络和备可用区及网络。
单可用区部署:主节点和备节点位于同一可用区。
如果实例系列选择为基础系列,则只能选择单可用区部署。
说明对于包含主备节点的实例,建议选择多可用区部署,实现实例的跨可用区容灾。
若目标可用区右上角提示售罄,请更换可用区。
选择实例规格。
选择分类(通用、独享或共享)。不同实例版本或实例系列,实例规格支持情况不同。具体请以控制台显示为准。
分类
说明
特点
通用规格
独享:内存和I/O
共享:CPU和存储
价格低,性价比高
独享规格
独享:CPU、内存、存储和I/O
说明独占型是独享型的顶配,独占整台服务器的CPU、内存、存储和I/O。
性能更好更稳定
说明基础系列不支持独享规格。
共享规格
独享:内存、存储
共享:CPU
高性价比,稳定性要求较低
选择具体规格(CPU核数、内存、最大连接数等)。
说明具体规格清单,请参见RDS SQL Server主实例规格列表。
选择存储空间。
存储空间包括数据空间、系统文件空间、日志文件空间和事务文件空间。存储空间范围(最小值和最大值)与前面选择的实例规格和存储类型有关。您可以调整存储空间,最少增减5 GB。
说明部分本地SSD盘的存储空间大小与实例规格绑定,ESSD云盘或SSD云盘不受此限制。
(可选)如果计费方式为包年包月,则还需要设置购买时长,您可参考如下说明按需选择。
基准价:包年包月实例在不考虑任何折扣情况下的原价。
折算月费用:将包年包月实例的基准价按照月为单位进行换算后的费用。
配置费用:您可以将鼠标移至页面右侧的查看明细处,可查看到根据当前所选购买时长和当前实例的基准价计算出的预估总费用及费用明细。
设置更多自定义参数。如无特殊需求,可保留默认值。
参数
说明
数据库端口
支持在创建RDS SQL Server实例时初始化端口,取值范围1000~5999。
实例释放保护
如果计费方式配置为按量付费,则可以为按量付费实例开启实例释放保护,防止按量付费实例被意外释放。更多信息,请参见开启和关闭实例释放保护。
资源组
选择默认或自定义的资源组,方便实例管理。
实例名称
自定义实例名称,便于识别实例。
系统字符集排序规则
支持在创建RDS SQL Server实例时设置系统字符集排序规则,默认值为Chinese_PRC_CI_AS。您也可以在实例创建完成后按需修改字符集排序规则。
标签
如果您有大量实例,可以通过给实例绑定标签,对实例进行分类管理。更多详情,请参见根据标签筛选实例。
高权限账号
您可以选择立即设置,输入账号和密码,创建高权限账号。也可以单击稍后设置,后续在实例创建成功后手动创建。
重要一个实例只能有一个高权限账号。高权限账号不能被删除。
在页面右上角选择实例购买数量。
默认1个,支持一次性最多购买20个实例,请根据实际需要选择。
确认订单信息、购买量和购买时长(仅包年包月实例),单击去支付并完成支付。控制台将提示支付成功或开通成功。
说明对于包年包月实例,建议选中启用自动续费,避免因忘记续费而导致业务中断。
按月购买,自动续费周期为1个月;按年购买,自动续费周期为1年,具体以订单时间为准。自动续费可随时取消。更多详情,请参见续费管理/资源续订使用介绍和自动续费。
查看实例。
进入实例列表,在上方选择实例所在地域,根据创建时间找到刚刚创建的实例。
2. 创建数据库
访问RDS实例列表,在上方选择步骤1实例创建所在地域,然后单击目标实例ID。

在左侧导航栏中单击数据库管理,然后单击创建数据库按钮。
在弹出的面板中,设置数据库参数。
本教程设置数据库(DB)名称为
dbtest,支持字符集为Chinese_PRC_CI_AS,然后单击创建。
您可以在数据库管理页面,或连接SQL Server实例后查看上一步新建的数据库。

3. 创建账号
在实例详情页,单击左侧导航栏账号管理。
单击账号密码策略,预先设置账号的密码使用时长策略,增强账号安全性。
说明共享型和Serverless实例暂不支持设置自定义账号密码策略,此类实例可跳过该步执行下一步。
单击创建账号,在弹出的面板中设置账号参数。
说明账号重名或账号创建过于频繁(上一个账号还未创建结束)可能会有报错提示,出现该情况时,请检查账号名称是否重复或在上一个账号创建完成后再创建下一个账号。

单击确定,完成账号创建。
您可以刷新账号管理页面查看新建的高权限账号。

4. 配置实例安全访问
如果您准备通过命令行或客户端登录数据库,则需要预先将ECS或本地设备的IP地址写入RDS SQL Server实例的IP白名单,然后根据访问类型获取实例对应的内网连接地址或外网连接地址后,才能正常访问实例;如果您准备通过阿里云的DMS登录数据库,则可直接执行步骤5。
4.1 设置IP白名单
在实例详情页,单击左侧导航栏白名单与安全组。
单击添加白名单分组,填写分组名称并把应用服务器IP地址添加至白名单中。

单击确定,完成白名单配置。
您可以刷新白名单与安全组页面查看已添加的白名单。

4.2 选择连接类型
连接类型分为内网访问和外网访问,如果您符合内网访问条件,您需要使用实例的内网连接地址进行远程连接;如果您不符合内网访问条件或使用本地设备访问RDS SQL Server实例,则需要使用实例的外网连接地址进行远程连接。内网访问条件与获取内外网连接地址的方法如下:
若您需要通过内网访问实例,则需满足以下条件:
使用阿里云服务器访问,且服务器与RDS实例同一地域、同一网络类型。
如果服务器与实例的网络类型均为专有网络(VPC),则专有网络ID也需要相同。
场景 | 需获取的RDS实例地址 | 如何获取 |
满足内网访问条件 | RDS内网地址 | 在实例详情页,单击左侧导航栏数据库连接,即可查看实例地址和端口号。
说明 点击开通外网地址后,才会显示外网连接地址。 |
从ECS实例访问RDS实例,但不满足内网访问条件 | RDS外网地址 | |
从本地设备访问RDS实例 |
5. 连接RDS SQL Server实例
您可以通过阿里云DMS直接登录至SQL Server数据库,或通过客户端远程连接至SQL Server数据库,或者通过Java应用程序连接至SQL Server数据库。
方式一:通过DMS登录实例
数据管理DMS(Data Management)是一款支撑数据全生命周期的一站式数据管理平台,其提供全域数据资产管理、数据治理、数据库设计开发、数据集成、数据开发和数据消费等功能,致力于帮助企业高效、安全地挖掘数据价值,助力企业数字化转型。
您可以使用DMS快速便捷地登录RDS SQL Server实例进行数据的管理与使用,无需关注实例IP白名单的设置与实例连接类型的选择。
访问RDS实例列表,在上方选择地域,然后单击目标实例ID。
单击登录数据库进入DMS登录页面。

在登录实例弹窗中,填写登录信息,并单击登录。

选择访问方式,本教程以账号+密码登录为例。
填写数据库账号与数据库密码,本教程以高权限账号
testuser和用户自定义密码为例。选择管控模式。本教程以自由操作为例。
查看数据库。登录成功后您可以在DMS页面左侧的已登录实例中查看新创建的数据库,本教程以
dbtest数据库为例,您也可以双击其他数据库进行切换。
说明如果实例存在,但在DMS已登录实例列表中未找到目标数据库,可能是:
登录账号无目标数据库的访问权限:您可前往RDS实例详情页的账号管理页面单击目标账号操作下的修改权限进行授权。
元数据未同步导致目录无法显示:请将鼠标悬浮在目标数据库所属实例上,单击实例名右侧的
按钮,即可刷新数据库列表,显示目标数据库。
在DMS中成功登录SQL Server数据库后,即可在其SQL Console界面中创建数据库、创建表、查询和变更表数据等。
方式二:通过SSMS客户端连接实例
Microsoft SQL Server Management Studio(SSMS)是一个用于管理和处理SQL Server的图形化界面工具,它可以用于连接不同的SQL Server数据库,包括RDS SQL Server实例、本地SQL Server实例或云上SQL Server实例等。
本教程以Microsoft SQL Server Management Studio 19.0(SSMS)版本为例,向您介绍通过客户端连接RDS SQL Server实例的方法。
建议下载最新版本客户端,以支持所有SQL Server服务端版本。
使用客户端方式连接实例需要预先设置IP白名单并按需获取实例连接地址。
打开本地Microsoft SQL Server Management Studio 19.0(SSMS)客户端。
选择连接 > 数据库引擎。
在弹出的连接到服务器对话框中输入登录信息。
参数
本教程取值
说明
服务器名称
rm-2ze****.rds.aliyuncs.com,1433
RDS实例的连接地址及端口号,填写开通外网地址步骤时所获取的外网地址和外网端口,连接地址与端口号间用半角逗号(,)隔开。
身份验证
SQL Server身份验证
SQL Server的验证方式。
登录名
testuser
填写RDS实例的账号名称。
密码
Test_pw123
填写RDS实例的账号密码。
单击连接,即可连接到实例。
连接成功后,SSMS左侧将显示数据库连接信息。
方式三:通过Java应用程序连接实例
下文将介绍如何通过Java应用程序利用JDBC连接到RDS SQL Server实例。
在连接数据库前,请预先将应用程序运行环境的IP地址(如ECS或本地设备的IP地址)加入到RDS SQL Server实例的IP白名单中。具体操作,请参见设置白名单。
在Maven项目中添加Microsoft JDBC驱动程序,以访问SQL Server数据库。
编写通过Java连接SQL Server数据库的示例代码,如下:
请将示例中的连接地址、数据库名、用户名和密码,以及SQL命令替换为实际的信息。更多详情,请参见查看或修改连接地址和端口。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet; public class testMSSQLJDBC { public static void main(String[] args) { // 输入数据库连接地址(应用程序部署在ECS内使用内网地址,部署在本地或其他环境请使用外网地址) String url = "jdbc:sqlserver://rm-2vc367d081200******.mssql.cn-chengdu.rds.aliyuncs.com:1433;" + "database=YourDatabaseName;" + "encrypt=true;" + "trustServerCertificate=true;" + "loginTimeout=30;"; // 用户名和密码(不使用Windows身份验证时,需指定用户名和密码) String username = "usernametest"; String password = "Passwordtest!"; // 创建连接对象 Connection connection = null; try { // 加载JDBC驱动程序 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 建立与SQL Server数据库的连接 connection = DriverManager.getConnection(url, username, password); System.out.println("连接成功!"); // 创建Statement对象用于执行SQL命令 Statement statement = connection.createStatement(); // 执行SQL查询,请按需替换自己的表名和列名 String sql = "SELECT TOP 10 * FROM YourTableName"; ResultSet resultSet = statement.executeQuery(sql); // 处理结果集 while (resultSet.next()) { System.out.println("列1: " + resultSet.getString("YourColumnName1")); System.out.println("列2: " + resultSet.getString("YourColumnName2")); } // 关闭结果集 resultSet.close(); // 关闭Statement statement.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭连接 if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }测试连接是否成功。
将上述代码保存为
SqlServerConnection.java文件,在命令行或IDE中编译并运行该程序。若配置正确,程序将输出类似如下结果,表示程序已成功连接到SQL Server数据库。
后续指引
附录:快速入门视频指导
常见问题
相关文档
通过API创建RDS实例:创建一个RDS实例
创建其他类型实例请参见:








