初期設定後、Data Management Service (DMS) や SQL Server Management Studio (SSMS) などを使用して SQL Server インスタンスに接続できます。 このトピックでは、それぞれの方法の手順について説明します。
前提条件
-
ApsaraDB RDS for SQL Server インスタンスを作成済みであること。 詳細については、「ApsaraDB RDS for SQL Server インスタンスの作成」をご参照ください。
-
データベースとアカウントを作成済みであること。 詳細については、「データベースとアカウントの作成」をご参照ください。
-
Elastic Compute Service (ECS) インスタンスやオンプレミスデバイスなどのクライアントが ApsaraDB RDS for SQL Server インスタンスにアクセスできるように、IP アドレスホワイトリストを設定済みであること。 詳細については、「IP アドレスホワイトリストの設定」をご参照ください。
説明-
Elastic Compute Service (ECS) インスタンスを使用して内部ネットワーク経由で ApsaraDB RDS for SQL Server インスタンスに接続する場合、ECS インスタンスと RDS インスタンスは同じリージョン、同じ Virtual Private Cloud (VPC) にある必要があります。 ECS インスタンスのプライベート IP アドレスを IP アドレスホワイトリストに追加してください。
-
オンプレミスデバイスを使用して ApsaraDB RDS for SQL Server インスタンスに接続する場合、デバイスのパブリック IP アドレスを IP アドレスホワイトリストに追加する必要があります。
-
操作手順
SQL Server データベースには、Data Management Service (DMS)、クライアント、または Java アプリケーションを使用して接続できます。
方法 1:DMS の使用
Data Management Service (DMS) は、データライフサイクル全体をサポートするワンストップのデータ管理プラットフォームです。グローバルなデータ資産管理、データガバナンス、データベースの設計と開発、データ統合、データ開発、データ消費などの機能を提供します。DMS は、企業が効率的かつ安全にデータの価値を引き出し、デジタルトランスフォーメーションを加速させるのに役立ちます。
DMS を使用すると、ApsaraDB for SQL Server インスタンスに迅速かつ簡単にログインして、データを管理および使用できます。この方法では、インスタンスの IP アドレスホワイトリストを設定したり、接続タイプを選択したりする必要がありません。
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
データベースにログイン をクリックして、DMS ログオンページを開きます。
[データベースインスタンスにログオン] ダイアログボックスで、ログオン情報を入力し、ログイン をクリックします。
アクセスモード を選択します。このチュートリアルでは、例として [アカウント + パスワードログイン] を使用します。
データベースアカウント と データベースパスワード を入力します。このチュートリアルでは、特権アカウントの
testuserとカスタムパスワードを使用します。[コントロールモード] を選択します。このチュートリアルでは、例として [柔軟管理] を使用します。
ログイン後、新しく作成されたデータベースが DMS ページの左側メニューの [接続済みインスタンス] の下に表示されます。このチュートリアルでは、例として
dbtestデータベースを使用します。別のデータベースをダブルクリックして切り替えることもできます。説明インスタンスは存在するものの、DMS の接続済みインスタンスのリストに対象のデータベースが見つからない場合、原因は次のいずれかである可能性があります:
ログオンアカウントに対象のデータベースへのアクセス権限がない:ApsaraDB for SQL Server インスタンスの アカウント管理 ページに移動し、対象のアカウントを見つけ、アクション 列の 権限の変更 をクリックして必要な権限を付与します。
メタデータが同期されていないため、ディレクトリが表示されない:対象のデータベースを含むインスタンスにポインターを合わせ、インスタンス名の右側にある
アイコンをクリックします。これにより、リストが更新されて対象のデータベースが表示されます。
DMS でデータベースにログインした後、SQL コンソールタブを使用してデータベースやテーブルの作成、データのクエリや変更を行います。
方法 2:SSMS の使用
Microsoft SQL Server Management Studio (SSMS) は、SQL Server を管理するためのグラフィカルユーザーインターフェイス (GUI) ツールです。これを使用して、ApsaraDB for SQL Server インスタンス、オンプレミスの SQL Server インスタンス、または他のクラウドでホストされている SQL Server インスタンスなど、さまざまな SQL Server データベースに接続できます。
このチュートリアルでは、Microsoft SQL Server Management Studio 19.0 (SSMS) を使用して ApsaraDB for SQL Server インスタンスに接続する方法を説明します。
すべての SQL Server バージョンとの互換性を確保するために、SSMS の最新バージョンをダウンロードすることを推奨します。
クライアントを使用して接続するには、まず IP アドレスホワイトリストを設定し、インスタンスエンドポイントを取得する必要があります。
ローカルの Microsoft SQL Server Management Studio (SSMS) 19.0 クライアントを開きます。
Connection > データベースエンジン を選択します。
[サーバーへの接続] ダイアログボックスで、ログオン情報を入力します。
パラメータ
値
説明
サーバー名
rm-2ze****.rds.aliyuncs.com,1433
ApsaraDB for SQL Server インスタンスのエンドポイントとポート番号。パブリックエンドポイントを申請したときに取得した パブリックエンドポイント と 外部ネットワークポート を入力します。エンドポイントとポート番号はコンマ (,) で区切ります。
[認証]
SQL Server 認証
SQL Server の認証方法。
[ログイン名]
testuser
ApsaraDB for SQL Server インスタンスのアカウント名。
[パスワード]
Test_pw123
ApsaraDB for SQL Server インスタンスのアカウントのパスワード。
Connection をクリックします。
接続が成功すると、SSMS の左側に接続情報が表示されます。
方法 3:Java アプリケーションの使用
このセクションでは、JDBC を使用して Java アプリケーションから ApsaraDB for SQL Server インスタンスに接続する方法について説明します。
接続する前に、アプリケーションを実行する環境の IP アドレス (ECS インスタンスやオンプレミスデバイスの IP アドレスなど) を、ApsaraDB for SQL Server インスタンスの IP アドレスホワイトリストに追加します。詳細については、「IP アドレスホワイトリストの設定」をご参照ください。
SQL Server データベースにアクセスするために、Microsoft JDBC ドライバーを Maven プロジェクトに追加します。
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("Connection succeeded!"); // SQL ステートメントを実行するための Statement オブジェクトを作成します。 Statement statement = connection.createStatement(); // SQL クエリを実行します。必要に応じてテーブル名と列名を置き換えてください。 String sql = "SELECT TOP 10 * FROM YourTableName"; ResultSet resultSet = statement.executeQuery(sql); // 結果セットを処理します。 while (resultSet.next()) { System.out.println("Column 1: " + resultSet.getString("YourColumnName1")); System.out.println("Column 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 データベースへの接続が成功したことを示します。Connection succeeded!