完成初始化配置后,您可以通过多种方式连接到SQL Server实例(例如通过数据管理DMS、SSMS客户端等),实现您的业务目标。本文介绍这些连接方法的具体操作。
前提条件
已创建RDS SQL Server实例。具体操作,请参见创建RDS SQL Server实例。
已创建账号和数据库。具体操作,请参见创建数据库和账号。
已设置白名单,允许客户端所在的ECS或本地设备访问RDS SQL Server实例。更多信息,请参见设置白名单。
说明如果使用ECS通过内网访问RDS SQL Server,ECS和RDS SQL Server实例需要位于同一个地域的同一VPC下,然后将ECS的私网IP添加到白名单。
如果使用本地设备访问RDS SQL Server,则将本地设备的公网IP添加到白名单。
操作步骤
您可以通过阿里云DMS直接登录至SQL Server数据库,或通过客户端远程连接至SQL Server数据库,或者通过Java应用程序连接至SQL Server数据库。
方式一:通过DMS登录实例
数据管理DMS(Data Management)是一款支撑数据全生命周期的一站式数据管理平台,其提供全域数据资产管理、数据治理、数据库设计开发、数据集成、数据开发和数据消费等功能,同时DMS内置的数据灾备还提供了低成本高可靠的备份恢复能力,致力于帮助企业高效、安全地挖掘数据价值,助力企业数字化转型。
您可以使用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数据库。
连接失败的解决办法
请参见解决无法连接实例问题。






