このトピックでは、ホストアカウントを使用して ApsaraDB RDS for SQL Server インスタンスホストにログインする方法について説明します。ホストにログインした後、SQL Server Reporting Services (SSRS) を使用して SQL Server データベースを管理および操作できます。
背景情報
ApsaraDB RDS for SQL Server の WebShell 機能を使用すると、Web インターフェイスを介して RDS SQL Server インスタンスのオペレーティングシステムにログインできます。その後、コマンドの実行やファイルの転送などの操作を実行できます。WebShell は、特に SSH クライアントが利用できない場合に、インスタンスを管理および保守するための便利な方法を提供します。
SQL Server Reporting Services (SSRS) は、Microsoft のエンタープライズレベルのレポーティングサービスです。SQL Server データベースおよびその他のデータソースから、テーブル、グラフ、マトリックス、多次元レポートなど、さまざまなタイプのレポートを生成できます。SSRS を ApsaraDB RDS for SQL Server データベースに接続し、データソースとして使用してさまざまなレポートを生成できます。この統合により、企業やユーザーはデータをより効率的に管理および分析し、ビジネス上の意思決定をサポートできます。
シナリオ
あなたが中小企業のデータベース管理者であり、会社の SQL Server データベースの管理を担当していると仮定します。ビジネスの成長に伴い、データベーストラフィックが増加しています。データベースをより適切に管理および最適化するために、SSRS を使用してデータベースを分析および監視する必要があります。ただし、ホストがオンプレミスではないため、ホストに直接ログインすることはできません。
その場合、ApsaraDB RDS コンソールを使用してホストアカウントを作成し、WebShell を介して RDS SQL Server インスタンスホストにログインできます。ホストにログインした後、SSRS を使用して SQL Server データベースを簡単に管理および操作し、そのステータスを監視して、ビジネスをより適切にサポートできます。
前提条件
RDS インスタンスは、次の要件を満たす必要があります:
インスタンスエディション: Basic Edition、High-availability Edition (SQL Server 2012 以降)、または Cluster Edition
インスタンスタイプ: 汎用、専用 (共有タイプはサポートされていません)
課金方法: サブスクリプションまたは従量課金 (サーバーレスインスタンスではサポートされていません)
ネットワークタイプ: Virtual Private Cloud (VPC)。ネットワークタイプを変更するには、「ネットワークタイプを変更する」をご参照ください。
インスタンス作成時間:
High-availability Edition および Cluster Edition インスタンスは、2021 年 1 月 1 日以降に作成されている必要があります。
Basic Edition インスタンスは、2022 年 9 月 2 日以降に作成されている必要があります。
説明実行ステータス 配下の 基本情報 ページで [作成時間] を表示できます。
Alibaba Cloud アカウントでログインする必要があります。
-
システム管理者アカウントがユーザーアカウント タブに作成されています。
-
ホストアカウント タブに、システム管理者アカウント タイプの ホストアカウント が作成されています。
影響
このトピックで使用されるシステム管理者アカウントは、SQL Server データベースに対する最高の権限を持ち、ホストアカウントはホストに対する最高の権限を持ちます。これらのアカウントによって実行される操作は ApsaraDB RDS for SQL Server の制御外であるため、このようなアカウントが 作成 された後、RDS SQL Server インスタンスは SLA の 対象外 となります。インスタンスの動作環境はお客様が管理します。ただし、インスタンスの通常の使用およびアフターサービスサポートには影響ありません。 このタイプのアカウントが作成されていないインスタンスは、引き続き SLA の完全な対象となります。
ステップ 1:WebShell でホストにログインする
- RDSインスタンスにアクセスし、上部のリージョンを選択し、対象のRDSインスタンスのIDをクリックします。
-
左側のナビゲーションペインで、アカウント管理 をクリックします。
-
ホストアカウント タブをクリックします。対象のアカウントの 操作 列で、リモート接続 (プライマリ) をクリックします。
-
リモート接続 ダイアログボックスで、ホストアカウントのパスワードを入力します。
-
OK をクリックします。
[OK] をクリックすると、システムが WebShell ログイン URL を生成し、自動的に SQL Server インスタンスホストにログインします。新しい WebShell ページがポップアップウィンドウで開きます。ブラウザがポップアップをブロックしている場合は、このサイトからのポップアップを許可して、ページが正しく表示されるようにしてください。
ログインに成功すると、Windows デスクトップ環境が表示され、左上隅に [ごみ箱] と [Cygwin64 Terminal] のショートカットアイコンが表示されます。これは、SQL Server インスタンスホストへの接続が成功したことを示します。
ステップ 2:SSRS を設定して使用する
前提条件
SQL Server ホストで SSRS を設定する前に、SQL Server Reporting Services (MSSQLSERVER) サービスが 有効化され、実行されている ことを確認してください。SSRS サービスのステータスを表示または変更するには、「SSRS サービスのステータスを表示または変更する」をご参照ください。
サービスの [ログオン] アカウントが NT Service アカウントに設定されていることを確認してください。
考慮事項
High-availability Edition または Cluster Edition のインスタンスの場合、データベースがデータベースミラーリングまたは Always On 可用性グループの状態にあるため、SSRS の設定が失敗する可能性があります。この問題が発生した場合は、システム管理者アカウントを使用して SQL Server インスタンスにログインし、次のコマンドを実行して問題を解決してください。
RDS インスタンスは定期的にデータベースミラーリングまたは可用性グループを設定します。そのため、SSRS のセットアップ中に複数の設定エラーが発生する可能性があります。設定エラーが発生するたびに、システム管理者アカウントで SQL Server インスタンスにログインし、次のコマンドを実行して解決する必要があります。
-- High-availability Edition インスタンスの場合 (データベースミラーリングをオフにする)
ALTER DATABASE [ReportServer] SET PARTNER OFF;
ALTER DATABASE [ReportServerTempDB] SET PARTNER OFF;
-- Cluster Edition インスタンスの場合 (ag-rds 可用性グループからデータベースを削除する)
ALTER AVAILABILITY GROUP [ag-rds] REMOVE DATABASE [ReportServer];
ALTER AVAILABILITY GROUP [ag-rds] REMOVE DATABASE [ReportServerTempDB];
これらの操作により、SSRS が適切に設定および実行できるようになります。Cluster Edition インスタンスの場合、高可用性と通常のバックアップおよび復旧を確保するために、SSRS の設定が完了した後、システム管理者アカウントを使用して SQL Server インスタンスにログインし、次のコマンドを実行してデータベースを可用性グループに追加し直してください。
ALTER AVAILABILITY GROUP [ag-rds] ADD DATABASE [ReportServer]
ALTER AVAILABILITY GROUP [ag-rds] ADD DATABASE [ReportServerTempDB]
操作手順
-
システム管理者アカウントで SQL Server インスタンスにログオンし、次のコマンドを実行します。
DISABLE TRIGGER [_$$_tr_$$_rds_alter_database] ON ALL SERVER;説明SQL Server インスタンスへの接続方法の詳細については、「ApsaraDB RDS for SQL Server インスタンスへの接続」をご参照ください。
-
「スタート」アイコン
>[Reporting Services Configuration Manager] をクリックします。 -
表示されるダイアログボックスで、レポートサーバー名を確認し、[接続] をクリックします。
[レポートサーバーインスタンス] ドロップダウンリストで、インスタンスが [MSSQLSERVER] であることを確認します。
説明RDS SQL Server インスタンスが High-availability Edition または Cluster Edition のインスタンスの場合、データベースミラーリングまたは可用性グループが原因で接続が失敗する可能性があります。この問題が発生した場合は、このトピックの「考慮事項」をご参照ください。
-
左側のナビゲーションペインで、[サービスアカウント] および [Web サービス URL] を構成します。
説明設定方法の詳細については、「Microsoft 公式ドキュメント」をご参照ください。
-
左側のナビゲーションペインで、[データベース] を選択し、次に [データベースの変更] をクリックしてホストにレポートサーバーデータベースを作成します。
-
[新しいレポート サーバー データベースを作成] を選択し、[次へ] をクリックします。
-
サーバー名を確認し、次のパラメーターを設定してから、[次へ] をクリックします。
パラメータ
説明
サーバー名
サーバー名。これは固定値であり、変更する必要はありません。
認証タイプ
[SQL Server アカウント] を選択します。
ユーザー名
RDS SQL Server インスタンスの ユーザーアカウント タブで作成されたシステム管理者アカウントのユーザー名を入力します。
パスワード
ユーザーアカウント タブで、システム管理者アカウントのパスワードを入力します。
-
レポートサーバーデータベースの名前を入力し、言語を選択して、[次へ] をクリックします。
[データベース名] フィールドに
ReportServerを入力します。[言語] ドロップダウンリストから [中国語 (簡体字、PRC)] を選択します。 -
レポートサーバーに接続するためのアカウントの資格情報を設定し、[次へ] をクリックします。
-
概要を確認して [次へ] をクリックし、レポートサーバーデータベースが作成されるのを待ってから [完了] をクリックします。
-
-
システム管理者アカウントを使用して SQL Server インスタンスにログインし、次のコマンドを実行します。
USE [master] GO -- データベースの復旧モデルを FULL に変更し、NO_WAIT パラメータを使用して変更を直ちに有効にします。 ALTER DATABASE [ReportServer] SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE [ReportServerTempDB] SET RECOVERY FULL WITH NO_WAIT GO -- サーバー上のすべてのデータベースで特定のトリガーを有効にします。 ENABLE TRIGGER [_$$_tr_$$_rds_alter_database] ON ALL SERVER; -
データソースの作成などの後続の操作は、ビジネス要件によって異なります。詳細については、「Microsoft 公式ドキュメント」または「SQL Server のレポート ビルダー」をご参照ください。
SSRS サービスのステータスを表示または変更する
-
SQL Server ホストにログオンします。検索ボックスに
services.mscと入力して、サービス ウィンドウを開きます。 -
[サービス] ウィンドウで、
SQL Server Reporting Services (MSSQLSERVER)の状態を確認してください。サービスの [状態] が [実行中]、[スタートアップの種類] が [自動]、[ログオン] アカウントが [NT Service...] であることを確認します。
説明SSRS のスタートアップの種類:
-
[手動]:サービスは手動で起動する必要があります。システムの起動時に自動的に起動しません。
-
[自動]:サービスはシステムの起動時に自動的に起動します。
-
[自動 (遅延開始)]:サービスはシステムの起動後、短時間経過してから自動的に起動します。
-
[無効]:サービスは無効化されており、起動できません。
-
-
(オプション) SSRS サービスを設定して起動します。
-
サービスをダブルクリックします。表示されたダイアログボックスで、[スタートアップの種類] を変更します。
[自動] に設定してから、[OK] をクリックします。
-
サービスを右クリックし、[開始] をクリックします。
-
SSRS サービスのステータスを再度確認します。
[SQL Server Reporting Services (MSSQLSERVER)] サービスの [状態] が [実行中] で、[スタートアップの種類] が [自動] であることを確認します。
-